This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] libnsl: Turn remaining symbols into compat symbols [BZ #22701]


On 31/01/18 15:07, Szabolcs Nagy wrote:
On 31/01/18 12:53, Florian Weimer wrote:
On 01/31/2018 12:21 PM, Szabolcs Nagy wrote:
if i install glibc-2.27 on top of an earlier glibc install
without removing the previous libnss_nis.so.2, which references
_nsl_default_nss, then the new libnsl.so.1 will not have that
symbol so old libnss_nis.so.2 no longer works.

either i have to --enable-obsolete-nsl in the new libc or
remove the old libnss_nis.so.2 (and hope nothing needs it)
before i run the new ldconfig.

i thought 'installing over' previous libc is a valid use
(i do this when testing in chroot)

A similar thing happens if you install a glibc over another glibc with different build flags, e.g. one that is using AT_PLATFORM directories.

We can certainly revert the change and reapply it for 2.28, maybe this time with a change which loads the NSS modules with RTLD_NOW, so that the missing GLIBC_PRIVATE symbol is detected at dlopen time and the NSS module is ignored (at least for now).


i think RTLD_NOW wont help me, i run ldconfig in the
chroot with mixed old and new glibc libs and ldconfig
fails to process libnss_nis.so.2

chroot /tmp/tmp6YjWM3/chroot sudo /sbin/ldconfig
sudo: relocation error: /lib/aarch64-linux-gnu/libnss_nis.so.2: symbol _nsl_default_nss version GLIBC_PRIVATE not defined in file libnsl.so.1 with link time reference


sorry you were right, it's sudo that fails, so RTLD_NOW
would make the dlopen fail and then there would be no
runtime failure.

(i thought it's ldconfig that tries to load the library somehow)

anyway i'll have a workaround for this so either way is
fine for me (revert or keep).

i guess i will work this around in the chroot build script.
(i assume it's enough to remove the obsolete nss libs
and potentially update the /etc/nsswitch.conf if things
dont work with the old one)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]