On Wed, Sep 20, 2000 at 02:11:45AM +0100, Colin Watson wrote:
> Josip Rodin <[EMAIL PROTECTED]> 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 [[EMAIL PROTECTED]]
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 <[EMAIL PROTECTED]> for Debian email: <[EMAIL PROTECTED]>
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 [EMAIL PROTECTED] or [EMAIL PROTECTED]
PGP signature