On my x86_64-unknown-linux-gnu system, the m4 macro
AC_LIBTOOL_SYS_DYNAMIC_LINKER in libtool.m4
uses "gcc -print-search-dirs" to set  sys_lib_search_path_spec.

Unfortunately, -print-search-dirs lists -m32 library directories,
but gcc is in (default) -m64 mode on my system.  Consequently libtool
tries to link with the wrong library (32 bit when it should be using 64 bit).
The particular error message I get is

: /usr/local/gcc-4.1.1/x86_64-Linux/lib/../lib/libstdc++.so: could not
read symbols:
: File in wrong format

I can get the appropriate 64-bit directories to search by 'gcc -v -o
hello hello.c'
from a "hello world" program and then looking at the directories
following each -L.

If I then hack configure to explicitly set sys_lib_search_path_spec with these
directories, then
/usr/local/gcc-4.1.1/x86_64-Linux/lib/../lib64/libstdc++.so is used
and everything is fine.

Unfortunately, I do not have a small example to demonstrate the
problem.  I found
this while trying to compile givaro-3.2.1
(http://www-lmc.imag.fr/Logiciels/givaro/).

Any help or suggestions on what should be the appropriate change to
AC_LIBTOOL_SYS_DYNAMIC_LINKER to make it work in the multilib
environment
would be appreciated.

Kate Minola
University of Maryland, College Park


_______________________________________________
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool

Reply via email to