Bug#231426: libc6: won't find libraries linked with -R
On Fri, Feb 06, 2004 at 05:53:17PM +0100, Christoph Martin wrote:
> >>>>I am using Sophos for Linux which is linked against it's own library
> >>>>in /usr/local/Sophos/lib apparently with -R. libc6 Version
> >>>>2.3.2.ds1-10 would run the binary without a problem:
> >>>>
> >>>>ldd /usr/local/Sophos/bin/sweep
> >>>> libsavi.so.3 => /usr/local/Sophos/lib/libsavi.so.3 (0x4001f000)
> >>>> libc.so.6 => /lib/libc.so.6 (0x4016f000)
> >>>> libpthread.so.0 => /lib/libpthread.so.0 (0x402a1000)
> >>>> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> >>>>
> >>>>After updating to Version -11. libsavi.so.3 would not be found anymore:
> >>>>
> >>>>ldd /usr/local/Sophos/bin/sweep
> >>>> libsavi.so.3 => not found
> >>>> libc.so.6 => /lib/libc.so.6 (0x4001c000)
> >>>> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> >>>
> >>>
> >>>Output of readelf -l bin/sweep, please?
> >>>
> > Thanks. Unfortunately, I have realized that I actually wanted "readelf
> > -d" ....
> >
>
> Dynamic segment at offset 0x20078 contains 22 entries:
> Tag Type Name/Value
> 0x00000001 (NEEDED) Shared library: [libsavi.so.3]
> 0x00000001 (NEEDED) Shared library: [libc.so.6]
> 0x0000000f (RPATH) Library rpath: [/usr/local/lib]
Well, that's your problem then. The RPATH says /usr/local/lib. Are
you sure nothing else changed in your environment between these two
runs - LD_LIBRARY_PATH, the binary itself, /etc/ld.so.conf? There's no
way that a binary with only that RPATH will look in
/usr/local/Sophos/lib.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
Reply to: