Trouble building gcc-4.3.4 on non-standard location

Kai Ruottu kai.ruottu@wippies.com
Fri Jan 14 08:14:00 GMT 2011


14.1.2011 8:17, apoorv kulshrestha kirjoitti:
> Hi,
>
> I need to build gcc-4.3.4 on non-standard location (NFS mounted). I configured:
>
> $../gcc-4.3.4/configure --prefix={insall dir} --with-gmp={install dir}
> --with-mpfr={install dir} --with-local-prefix={install dir}
> --disable-shared
>
> I ran make -j1. But I keep getting:
>
> checking for suffix of object files... configure: error: cannot
> compute suffix of object files: cannot compile
>
> In x86_64-unknown-linux-gnu/libgcc/config.log, I can see:
>
> /home/panthdev/apps/gcc-4.3.4-compliant/compiler/objdir/./gcc/cc1:
> error while loading shared libraries: libmpfr.so.1: cannot open shared
> object file: No such file or directory

Yes, the configure docs tell :

"You might also need to ensure the shared libraries can be found by the 
dynamic linker when building and using GCC, for example by setting the 
runtime shared library path variable (LD_LIBRARY_PATH on GNU/Linux and 
Solaris systems)."

When not installing/updating gmp, mpfr into their standard places, it
of course is required to tell where the runtime libraries are, so the
dynamic linker ('/lib/ld-linux-x86-64.so') can find them!

> libmpfr.so.1 is there in {install dir}/lib. Also if I set
> LD_LIBRARY_PATH to {install dir}/lib, then it finds the libmpfr.so.1
> but config.log starts complaining:
>
> /tmp/cce9YhFK.s: Assembler messages: /tmp/cce9YhFK.s:16: Error: bad
> register name %rbp' /tmp/cce9YhFK.s:18: Error: bad register name%rsp'

This error came from the assembler, not from the new GCC. So there is
something wrong with the co-operation between the new GCC and the
existing assembler ('/usr/bin/as'). So :

- what is the current assembler version?  ('$ as --version')

- is updating the assembler allowed?

If updating the distro components is not allowed, then building and
installing newer GNU binutils using the same '--prefix={install dir}'
in configure would be the solution. If updating is allowed then the
configure option is '--prefix=/usr' which causes the '/usr' stuff for
binutils being updated...

The new GCC will search 'as' from '${install dir}/$target/bin' before
going to search from $PATH...



More information about the Gcc-help mailing list