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

Re: dh_shlibdeps : strange message (??)



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


Reply to: