[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sys_lib_dlsearch_path_spec set incorrectly on 64bit linux with /usr/lib6
sys_lib_dlsearch_path_spec set incorrectly on 64bit linux with /usr/lib64
Thu, 17 Dec 2009 15:44:36 -0600
I found a thread on the libtool mailing list where this problem was
discussed in Jan 2009.
The thread ends with the puzzling comment "The dynamic linker's search
path is not of much importance when linking" and it looks as if the
problem was never corrected in libtool. From what I can tell, the
dynamic linker on GNU/Linux does not skip entries in its own search path
when it sees them listed in the RPATH.
Having the wrong sys_lib_dlsearch_path_spec causes problems when
different versions of the same library are installed with one in the
system library path and one in a custom location.
For example, I have different versions of libxml2 in /usr/lib64
and /opt/newlibxml2/lib64 and want to link to the version
in /opt/newlibxml2. Libtool doesn't consider /usr/lib64 to be in the
default search path so I just have to hope that libtool doesn't
add /usr/lib64 earlier than /opt/newlibxml2/lib64 in the RPATH for the
benefit of some other library.
I noticed this problem cropping up with the PHP 5.2.12 libtool.m4 update
from serial 47 to serial 52. It looks like the problem remains in the
latest daily snapshot that is available (2.2.7a from 3 Dec 2009, serial
I've seen the same issue in the past with FreeBSD systems
since /usr/local/lib isn't added to sys_lib_dlsearch_path_spec there and
it's the standard location for ports to install new libraries. That
always seemed to be a reasonably understandable quirk of libtool though.
Thanks for the terrific sotware.
- sys_lib_dlsearch_path_spec set incorrectly on 64bit linux with /usr/lib64,
John Lightsey <=