This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc 3.0 and multilibbing
- To: gcc-bugs at gcc dot gnu dot org
- Subject: gcc 3.0 and multilibbing
- From: Tom Tromey <tromey at redhat dot com>
- Date: 26 Feb 2001 13:29:47 -0700
- Reply-To: tromey at redhat dot com
I'm trying to build the current gcc 3.0 branch on my PPC Linux 2000
box.
I configure with `--enable-threads=posix --enable-languages=c,c++,java'.
On this machine multilibs are built.
The build fails like this:
/usr/bin/ld: warning: libgcc_s_nof.so.0, needed by ./.libs/libffi.so, not found (try using --rpath)
./.libs/libffi.so: undefined reference to `__extendsfdf2@@GCC_3.0'
This is interesting. configure (I guess) decides to add a `-rpath'
for the multilib directory /x1/gcc3/ppc-install/lib/nof.
However, libgcc_s_nof.so is not installed in this directory.
Instead it is installed in /x1/gcc3/ppc-install/lib.
Why are multilibbed libgcc.so's installed differently from all other
multilibs? That seems odd.
This oddity doesn't really explain the problem I'm seeing, because my
problem is a build problem, not related to the install tree.
Here's what happens when I try to rebuild libffi by hand, using -v:
cachet. /x1/gcc3/Ppc-build/gcc/xgcc -v -B/x1/gcc3/Ppc-build/gcc/ -B/x1/gcc3/ppc-install/powerpc-unknown-linux-gnu/bin/ -B/x1/gcc3/ppc-install/powerpc-unknown-linux-gnu/lib/ -isystem /x1/gcc3/ppc-install/powerpc-unknown-linux-gnu/include -msoft-float -fPIC -mstrict-align -fexceptions -g -O2 -msoft-float -fPIC -mstrict-align -msoft-float -fPIC -mstrict-align -o .libs/ffitest ffitest.o ./.libs/libffi.so -Wl,--rpath -Wl,/x1/gcc3/ppc-install/lib/nof
Reading specs from /x1/gcc3/Ppc-build/gcc/specs
Configured with: ../gcc/configure --prefix=/x1/gcc3/ppc-install --enable-threads=posix : (reconfigured) ../gcc/configure --prefix=/x1/gcc3/ppc-install --enable-threads=posix --enable-languages=c,c++,java : (reconfigured) : (reconfigured)
gcc version 3.0 20010225 (prerelease)
/x1/gcc3/Ppc-build/gcc/collect2 -V -Qy -m elf32ppclinux -dynamic-linker /lib/ld.so.1 -o .libs/ffitest /usr/lib/crt1.o /usr/lib/crti.o /x1/gcc3/Ppc-build/gcc/nof/crtbegin.o -L/x1/gcc3/Ppc-build/gcc/nof -L/x1/gcc3/Ppc-build/gcc -L/usr/lib/nof ffitest.o ./.libs/libffi.so --rpath /x1/gcc3/ppc-install/lib/nof -lgcc -lc -lgcc /x1/gcc3/Ppc-build/gcc/nof/crtend.o /usr/lib/crtn.o
/usr/bin/ld: warning: libgcc_s_nof.so.0, needed by ./.libs/libffi.so, not found (try using --rpath)
./.libs/libffi.so: undefined reference to `__extendsfdf2@@GCC_3.0'
GNU ld version 2.9.5 (with BFD 2.9.5.0.19)
Supported emulations:
elf32ppclinux
elf32ppc
collect2: ld returned 1 exit status
collect2 is given the appropriate -L option.
I guess this means that libgcc_s_nof on this platform is
missing a required function.
Tom