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

Bug#332824: synlink strangeness with chroot



On Fri, 2005-12-23 at 01:17 +0100, Goswin von Brederlow wrote:
> Jonathan Brandmeyer <jbrandmeyer@earthlink.net> writes:

> > When you follow the FAQ directions to add an ia32 chroot's lib
> > directories to /etc/ld.so.conf[1], ldconfig causes vgchange's dependency
> > on libncurses.so.5 to appear to be satisfied using
> > $(chroot_path)/usr/lib/libncurses.so.5[2], which is itself a symlink.
> 
> Is that symlink absolute and thereby broken?

Eventually, yes.

(identical in ia32 or amd64)
/usr/lib/libncurses.so.5 -> libtermcap.so
/usr/lib/libtermcap.so -> libncurses.so
/usr/lib/libncurses.so -> /lib/libncurses.so.5
/lib/libncurses.so.5 -> libncurses.so.5.5

> > Weirdly, file -L /mnt/root32/usr/lib/libncurses.so.5 prints
> > ... ELF 64-bit LSB shared object, AMD x86-64 ...
> 
> Which would indicate it links to /lib/libncurses.so* instead of
> ../../lib/libncurses.so*. This might be a more common problem.

This isn't fully comprehensive, but it looks like only a handful of core
libraries are affected in this way.  This is from a desktop system,
running GNOME with a few extra GTK and QT apps.

$ for i in /mnt/root32/usr/lib/* ; do file -L $i | grep AMD ; done
/mnt/root32/usr/lib/libanl.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/mnt/root32/usr/lib/libBrokenLocale.so: ELF 64-bit LSB shared object,
AMD x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libcidn.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libcom_err.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libcrypt.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libcurses.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libdl.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/mnt/root32/usr/lib/libe2p.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/mnt/root32/usr/lib/libext2fs.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libm.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/mnt/root32/usr/lib/libncurses.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libncurses.so.5: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libnsl.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/mnt/root32/usr/lib/libnss_compat.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libnss_dns.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libnss_files.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libnss_hesiod.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libnss_nisplus.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libnss_nis.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libpamc.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libpam_misc.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libpam.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/mnt/root32/usr/lib/libpopt.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libresolv.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/librt.so: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
/mnt/root32/usr/lib/libtermcap.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libthread_db.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped
/mnt/root32/usr/lib/libutil.so: ELF 64-bit LSB shared object, AMD
x86-64, version 1 (SYSV), stripped





Reply to: