Re: dpkg-dev: dpkg-shlibdeps doesn't work within fakeroot
firstname.lastname@example.org (Adam P. Harris) writes:
> Roberto Lumbreras <email@example.com> writes:
> > On Friday, October 9 1998, at 21:19:38, James Troup wrote:
> > : Look at fakeroot's shlibs file. This is not a bug (or certainly not
> > : the one you're claiming it is).
> > Ok. Of course, you are right ;) I've added (>= 2.0.7u) to
> > /var/lib/dpkg/info/fakeroot.shlibs and now it works, but I think
> > dpkg-shlibdeps should know that "libc6, libc6 (>= 2.0.7u)" should
> > be "libc6 (>= 2.0.7u)". Anyway, I don't know much about how shlibs
> > stuff works...
> Um, what is the right way to *really* fix this issue?
I don't know about the Right way, but the method that appeals to me is
(assuming it's possible) to make dpkg-shlibdeps not obey LD_PRELOAD
(and thus not use fakeroot), because apart from this issue (when libc6
has a versioned shlibs file) there is also the problem of fakeroot
being used to build libc5-compat packages.
> I suspect that fakeroot.shlib was just a hack put in place to
> workaround some bug in libc6 which is now fixed.
No, it's not, run ldd with and without fakeroot on a libc5-compat
| 11:45:33@cookie| ~ $ldd /usr/lib/libc5-compat/libgpm.so.1.14
| libc.so.5 => /lib/libc.so.5 (0x4000f000)
| libncurses.so.3.0 => /lib/libncurses.so.3.0 (0x400cd000)
| 11:45:40@cookie| ~ $fakeroot ldd /usr/lib/libc5-compat/libgpm.so.1.14
| /usr/lib/libfakeroot/libfakeroot.so.0 => /usr/lib/libfakeroot/libfakeroot.so.0 (0x4000a000)
| libc.so.5 => /lib/libc.so.5 (0x40014000)
| libdl.so.2 => /lib/libdl.so.2 (0x400d2000)
| libc.so.6 => /lib/libc.so.6 (0x400d6000)
| libncurses.so.3.0 => /lib/libncurses.so.3.0 (0x40177000)
| ld-linux.so.2 => /lib/ld-linux.so.2 (0x401b3000)
| 11:45:44@cookie| ~ $
[Of course, IMHO, the *real* solution to all of these problems is not
to use fakeroot or libtricks at all but sudo or something similar]