This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problem with biarch support: Wrong library linked in...


On x86-64 we have both 32-bit libs in lib and 64-bit libs in lib64.
But this gives a problem with the search done in emultempl/elf32.em.
ld suddenly decides to use a 32-bit library:

$ gcc  -Wall   -o xw -L/usr/X11R6/lib64 -lX11 -lXext -lXmu -lm xw.o xaccess.o fashion.o -lXinerama 
/usr/X11R6/lib/libSM.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [xw] Error 1

-Wl,-verbose has these last lines:
libdl.so.2 needed by /usr/X11R6/lib64/libX11.so
found libdl.so.2 at /lib64/libdl.so.2
libXt.so.6 needed by /usr/X11R6/lib64/libXmu.so
found libXt.so.6 at /usr/X11R6/lib64/libXt.so.6
libSM.so.6 needed by /usr/X11R6/lib64/libXmu.so
found libSM.so.6 at /usr/X11R6/lib/libSM.so.6
collect2: ld returned 1 exit status

ld.so.conf contains:
$ grep /usr/X11R6/lib /etc/ld.so.conf 
/usr/X11R6/lib
/usr/X11R6/lib/Xaw95
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib64/Xaw95
/usr/X11R6/lib64/Xaw3d
/usr/X11R6/lib64

I could change the order but then I expect that the same problem
happens with 32-bit libraries :-(

This is with quite recent binutils:
$ ld --version
GNU ld version 2.12.90.0.7 20020423 (SuSE)

Why is this libSM.so.6 found in /usr/X11R6/lib as 32-bit library?  A
64-bit version exists in /usr/X11R6/lib64 and should have been used.
Any ideas how to fix this properly?

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]