This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: [gcc] Build fail for 2.95.3 version on a modern system
- From: Marcello Stanisci <stanisci dot m at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Thu, 20 Feb 2014 00:18:22 +0100
- Subject: Re: [gcc] Build fail for 2.95.3 version on a modern system
- Authentication-results: sourceware.org; auth=none
- References: <CA+4a3Txd3rURLxu1FjwG0z89XAEjCskaMoQNuqyCEB=2nf1tHg at mail dot gmail dot com> <530387FD dot 1040003 at redhat dot com> <CA+4a3TzFuLDv9beAHTA1QXFiR7eeAse=pZX0W2HO-+-DxADhJg at mail dot gmail dot com>
Fixed, it seems to be a bug.
Just: export LIBRARY_PATH=/di/rectory
to instruct the linker about where to search for object files.
2014-02-19 23:28 GMT+01:00 Marcello Stanisci <stanisci.m@gmail.com>:
> 2014-02-18 17:19 GMT+01:00 Florian Weimer <fweimer@redhat.com>:
>> On 02/18/2014 01:09 PM, Marcello Stanisci wrote:
>>
>>> I am trying to build gcc 2.95.3 with my gcc 4.7 on a debian stable
>>> (wheezy) environment.
>>
>>
>> This will not work due to lack of multi-arch support. You need to inject
>> the missing system include paths, e.g. /usr/include/x86_64-linux-gnu.
>
> I did the injection, it has been possible by appending the string
> ``-I /usr/include/i386-linux-gnu/'' to both LIBGCC2_INCLUDES and
> INCLUDES variables
> in file gcc/Makefile.
>
> Unfortunately, there is another issue. The fresh built compiler, when
> invoked by `make', calls the linker
> (that is the native linker of my system - gnu ld 2.22) and the linker
> cannot find crt1.o and crti.o that exist
> on my system. I also give the
> ``-Wl,--library-path=/usr/lib/i386-linux-gnu/'' (that is the directory
> where those
> object file are) option to the fresh built compiler but it simply ignore it.
> Furthermore, I just tried to compile an hello_world program to see if
> my linker find crt1.o and crti.o and it goes fine.
>
> I paste below the response of the compilation process:
>
> stage1/xgcc -Wl,--library-path=/usr/lib/i386-linux-gnu/ -Bstage1/ \
> -B/usr/local/i686-pc-linux-gnu/bin/ -DIN_GCC \
> -O2 -g -O2 -DHAVE_CONFIG_H \
> -o gencheck gencheck.o
>
> /usr/bin/ld: cannot find crt1.o: No such file or directory
> /usr/bin/ld: cannot find crti.o: No such file or directory
> collect2: ld returned 1 exit status
>
>
> So, why does the linker not find a file that I have in my system and
> that it normally finds?
> And, why does the linker ignore the option passed to it through the string
> ``-Wl,--library-path=/usr/lib/i386-linux-gnu/'' ?
>
> Thanks!
> -ms