libtool
[Top][All Lists]
Advanced

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

How does one specify linking to 64 bit libraries when there is a choice?


From: Bruce Korb
Subject: How does one specify linking to 64 bit libraries when there is a choice?
Date: Thu, 16 Dec 2010 17:39:47 -0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20101125 SUSE/3.0.11 Thunderbird/3.0.11

Here is the problem:

> /bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99 -I/usr/local/include 
> \
>   -pthread -g -O2 -export-dynamic  -o autogen  autogen-ag.o 
> ../autoopts/libopts.la \
>  ../snprintfv/libsnprintfv.la -pthread \
>  -L/usr/local/lib -lguile -lltdl \
>  -L/usr/local/lib64 -Wl,-rpath,/usr/local/lib64 \
>  -lgmp -lcrypt -lm -lltdl -lm -ldl

It looks like things might be okay because "-lgmp" is called out
after the -L/usr/local/lib64 option, but the emitted link fails:

> libtool: link: gcc -std=gnu99 -I/usr/local/include -pthread -g -O2 \
>  -o .libs/autogen autogen-ag.o -pthread -Wl,-rpath -Wl,/usr/local/lib64 \
>  -Wl,--export-dynamic  ../autoopts/.libs/libopts.so \
>  ../snprintfv/.libs/libsnprintfv.a \
>  -L/usr/local/lib /usr/local/lib64/libguile.so -L/usr/local/lib64 \
>  /usr/local/lib64/libltdl.so \
>  /usr/local/lib/libgmp.so -lcrypt /usr/local/lib/libltdl.so \
>  -lm -ldl -pthread -Wl,-rpath -Wl,/u/guest/bkorb/_i/lib \
>  -Wl,-rpath -Wl,/usr/local/lib64 -Wl,-rpath -Wl,/usr/local/lib

notice that libgmp is now specified as .../lib/libgmp.so.
Not good:

> /usr/local/lib/libgmp.so: could not read symbols: File in wrong format
> collect2: ld returned 1 exit status

/usr/local/lib does not actually contain *ANY* 64 bit objects.
Grepping through the build directory "libtool" script does not
identify any direct reference to that directory, though it does
reference /usr/local/lib64 directly.  So, what is amiss?
How does libtool get screwed up? How to fix it?

Thanks! - Bruce

 abajo__b $ file -L /usr/local/lib*/libgmp.so
/usr/local/lib64/libgmp.so: ELF 64-bit LSB shared object, x86-64, version 1 
(SYSV), dynamically linked, not stripped
/usr/local/lib/libgmp.so:   ELF 32-bit LSB shared object, Intel 80386, version 
1 (SYSV), dynamically linked, not stripped



reply via email to

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