gm2
[Top][All Lists]
Advanced

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

Re: [Gm2] gm2 make errors?


From: Gaius Mulley
Subject: Re: [Gm2] gm2 make errors?
Date: Fri, 09 May 2014 11:38:09 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)

Charles Bradshaw <address@hidden> writes:

> 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.

Hi Charles,

definitely a bug!  I'm looking into this - thanks for the report,

regards,
Gaius



reply via email to

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