On Wed, Sep 20, 2000 at 02:11:45AM +0100, Colin Watson wrote: > Josip Rodin <joy@cibalia.gkvk.hr> wrote: > >On Tue, Sep 19, 2000 at 09:04:19PM +0100, Colin Watson wrote: > >> It happens every time I build a package inside fakeroot (i.e. every time > >> I build a package). > > > >Eww. Is the bug filed, with an appropriate severity? > > Yes, #64090 (I think it's noted somewhere else, too, but I'm not going > to hunt it down right now). Don't know if wishlist is appropriate; for > the moment it seems mostly cosmetic. > > >> It doesn't actually cause a dependency on fakeroot, though. > > > >Nothing in Depends: line, yes, but what about library dependencies? > > [cjw44@riva ~/src/debian/trn4/trn4-4.0-test74]$ ldd trn > libncurses.so.5 => /lib/libncurses.so.5 (0x4001b000) > libm.so.6 => /lib/libm.so.6 (0x40059000) > libresolv.so.2 => /lib/libresolv.so.2 (0x40076000) > libnsl.so.1 => /lib/libnsl.so.1 (0x40085000) > libc.so.6 => /lib/libc.so.6 (0x4009c000) > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > > This was built inside fakeroot. > > -- > Colin Watson [cjw44@flatline.org.uk] Here's the reason why: --- [timshel@pippin pts/3 timshel]$ LD_PRELOAD=/usr/lib/libfakeroot/libfakeroot.so.0.0.1 ldd /sbin/parted /usr/lib/libfakeroot/libfakeroot.so.0.0.1 => /usr/lib/libfakeroot/libfakeroot.so.0.0.1 (0x40014000) libuuid.so.1 => /lib/libuuid.so.1 (0x40024000) libncurses.so.5 => /lib/libncurses.so.5 (0x40027000) libreadline.so.4 => /lib/libreadline.so.4 (0x40066000) libparted.so.1 => /lib/libparted.so.1 (0x4008b000) libc.so.6 => /lib/libc.so.6 (0x400b9000) libdl.so.2 => /lib/libdl.so.2 (0x40196000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) [timshel@pippin pts/3 timshel]$ ldd /sbin/parted libuuid.so.1 => /lib/libuuid.so.1 (0x4001f000) libncurses.so.5 => /lib/libncurses.so.5 (0x40022000) libreadline.so.4 => /lib/libreadline.so.4 (0x40060000) libparted.so.1 => /lib/libparted.so.1 (0x40085000) libc.so.6 => /lib/libc.so.6 (0x400b4000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) [timshel@pippin pts/3 timshel]$ --- As you can see, using a LD_PRELOAD trick makes the library appear in the libraries list. Since fakeroot uses such a trick, this causes an error message in dpkg-shlibdeps, but since there is no .shlibs file for the library, nothing is added to ${shlibs:Depends} and since it is a LD_PRELOAD trick, there is no real library dependency on that file. Thanks, Timshel -- Timshel Knoll <timshel@pobox.com> for Debian email: <timshel@debian.org> Second year Computer Science, RMIT | CS108 Tutor (Semester 2, 2000) Debian GNU/Linux developer, see http://www.debian.org/~timshel/ For GnuPG public key: finger timshel@ozemail.com.au or timshel@debian.org
Attachment:
pgpXr0fjnUPMb.pgp
Description: PGP signature