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

Re: binary-or-shlib-defines-rpath

Kjetil Torgrim Homme <kjetilho@linpro.no> writes:

> If an application uses libc6 and libslang (say), it will break when
> libslang is recompiled against libc7.  Therefore the libc6 version of
> libslang needs to retained in a libc6 specific directory for backwards
> compatibility, and ld.so needs to know that /lib contains libc7
> libraries and should not be consulted for libraries for old libc6
> binaries.

Nope. This was needed in the past, but nowadays every shared library
should include proper dependency information. Every shlib on my system
does depend on libc.so.6, for example -- see:

$ objdump --private-headers /lib/libslang.so.1.4.4| grep NEEDED
  NEEDED      libm.so.6
  NEEDED      libc.so.6
  NEEDED      libdl.so.2

If there are more libslang.so.1 versions available (for example one
depending on libc.so.6, the other on libc.so.7), ld.so will only have
to select the one matching up with the executable's dependencies. No
special casing, and works for upgrades of every library.


Attachment: signature.ng
Description: PGP signature

Reply to: