gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gm2] gm2 make errors?


From: Charles Bradshaw
Subject: Re: [Gm2] gm2 make errors?
Date: Fri, 09 May 2014 00:08:13 +0100

On Thu, 2014-05-08 at 18:57 +0100, Gaius Mulley wrote:
> Charles Bradshaw <address@hidden> writes:
> 
> > I'm trying to compile gm2. I compiling under Fedora 17 using gcc version
> > 4.7.2 20120921 (Red Hat 4.7.2-2) (GCC)
> >
> > I followed the yellow brick road:
> >
> > http://floppsie.comp.glam.ac.uk/download/c/gcc-4.7.3
> > +gm2-git-latest.tar.gz
> > tar zvxf gcc-4.7.3+gm2-git-latest.tar.gz
> > cd gcc-4.7.3+gm2-git-latest/gm2
> > sh ./combine-trees
> > cd gcc-versionno
> > mkdir objdir
> > cd objdir
> > mkdir /home/brad/gcc
> > ../configure --prefix=/home/brad/gcc
> >
> > Until this error from make:
> >
> > $ make
> > ....
> > ../../gcc/gcc.c: In function ‘int main(int, char**)’:
> > ../../gcc/gcc.c:6366:33: error: ‘lang_register_spec_functions’ was not
> > declared in this scope
> >
> > I tried adding the following to gcc.c
> > extern void lang_register_spec_functions (void);
> >
> > But now I see the following:
> >
> > gcc.o: In function `main':
> > gcc.c:(.text.startup+0x4f9): undefined reference to
> > `lang_register_spec_functions()'
> > collect2: error: ld returned 1 exit status
> >
> > This looks like something to do with Gaius Mulleys patches for gm2 but
> > my C is inadequate.
> >
> > How can I fix the problem?
> >
> > TIA Charles Bradshaw
> 
> Hi Charles,
> 
> please can you post the complete build log.  Are you building using
> more options to configure ie something along these lines?
> 
> regards,
> Gaius
> 
> ps.  please read through the script especially the "rm -rf" line !
> 
> 
> #!/bin/bash
> 
> export PATH=/usr/bin:$PATH
> 
> LANGUAGES=c,c++,gm2
> cd $HOME/GM2
> 
> GCC=$1
> 
> if [ "${GCC}" == "" ] ; then
>     echo "You must specify which gcc release you want to download, currently 
> supported are:  4.1.2 and 4.7.3"
>     exit 1
> fi
> 
> if [ ! -d $HOME/GM2 ] ; then
>     echo "no $HOME/GM2 found"
>     exit 1
> fi
> 
> echo path set to ${PATH}
> echo "press enter to continue if the path is correct"
> read ans
> 
> rm -rf scratch-area
> mkdir scratch-area
> cd scratch-area
> 
> if ! wget 
> http://floppsie.comp.glam.ac.uk/download/c/gcc-${GCC}+gm2-git-latest.tar.gz ; 
> then
>     echo "unable to download gm2 grafted onto gcc-${GCC}"
>     exit 2
> fi
> 
> tar zxf gcc-${GCC}+gm2-git-latest.tar.gz
> find gcc-${GCC}+gm2-git-latest -exec touch {} \;   # fix any future file date 
> stamps
> 
> rm -rf build-${GCC}
> mkdir build-${GCC}
> cd build-${GCC}
> 
> if [ "$GCC" == "4.7.3" ] ; then
>     ../gcc-${GCC}+gm2-git-latest/gm2/gcc-versionno/configure 
> --prefix=$HOME/opt \
>     --enable-languages=${LANGUAGES} \
>     --libexecdir=$HOME/opt/lib --enable-shared \
>     --enable-threads=posix --enable-__cxa_atexit \
>     --enable-clocale=gnu \
>     --disable-multilib --disable-bootstrap \
>     --enable-checking --enable-libgm2
> fi
> if [ "$GCC" == "4.1.2" ] ; then
>      CFLAGS=-B/usr/lib/x86_64-linux-gnu
>      export CFLAGS
>      LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
>      export LIBRARY_PATH
>      ../gcc-${GCC}+gm2-git-latest/gm2/gcc-versionno/configure 
> --enable-languages=c,c++,gm2 \
>      --disable-multilib --enable-checking=all --prefix=$HOME/opt
> fi
> 
> time ( ( make "SHELL=/bin/bash" && cd gcc && make check-gm2 ) >& build-log < 
> /dev/null ) &
> sleep 3
> tail -f build-log
> 

Gaius,

Thanks for your prompt reply.

Your build script throws a whole different light on the problem. Now I
see the necessary configure options.

Please bear in mind I'm a simple mechanical engineer, having never done
a compile of this complexity before.

OK I have a successful make.

Then I do
$ cd GM2/scratch-area/build-4.7.3
$ make install

${HOME}/opt is now populated.

$ export ${PATH}:/home/brad/opt/bin

$ cd /home/brad/GM2/scratch-area/gcc-4.7.3
+gm2-git-latest/gm2/gcc-versionno/gcc/gm2/examples/hello/

$ gm2 -g -I. -fmakeall hello.mod
/home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.7.3gm2 -c -fmakeall0
-B/home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.7.3 -g -fonlylink
-fobject-path=. -ftarget-ar=/usr/bin/ar -ftarget-ranlib=/usr/bin/ranlib
-fmakeall -I. -I/home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.7.3/gm2/pim
hello.mod
make: /home/brad/opt/lib/gcc/i686-pc-linux-gnu/4.7.3gm2: Command not
found
make: *** [hello.o] Error 127

Looks like a Makefile.in error. Missing / before gm2 ?

I'm now clueless. What did I miss?

Charles Bradshaw

PS For the record I attach build-log as requested.

Attachment: build-log.tar.bz
Description: application/bzip-compressed-tar


reply via email to

[Prev in Thread] Current Thread [Next in Thread]