Re: Dpkg-shlibdeps and libc5/6
> > i'm very sorry. now i remember : i used your fakeroot version compiled
> > without -lc (am i getting senil ?).
> >
> > aj@dungeon:~$ ldd /usr/bin/cu
> > libc.so.5 => /lib/libc.so.5 (0x4000b000)
> > aj@dungeon:~$ fakeroot /usr/bin/ldd /usr/bin/cu
> > /usr/lib/libfakeroot.so.0 => /usr/lib/libfakeroot.so.0 (0x4000b000)
> > libc.so.5 => /lib/libc.so.5 (0x40011000)
>
> I think this is the best solution: libfakeroot should be just
> one library, statically linked.
> This way we won't have troubles when
No troubles, except that it doesn't work.
Linking a libfakeroot that was compiled with libc6 headerfiles against a
libc5 program is one sure way of getting a segfault. And I'm rather
sure that linking an shared ELF library (statically linked) against
an aout libc4 programme is a sure way to make the dynamic linker complain.
But never mind, fakeroot_0.1-0c already includes a libfakeroot built
for libc5 and one for libc6 (both dynamically linked, with explicid
dependancy agianst libc, to make it work at all), and it works[1]
for both libc5 and libc6 programmes (and dpkg-shlibs works OK for it).
> building for libc4, libc5, libc6, libc7... or even when building
> something that is not linked with libc at all.
Not linked with libc at all -- Then fakeroot will not work
for that programme at all (it works by wrapping stat() etc, from
libc).
> I know current policy mandates that all shared libraries have
> to be linked with libc, but this isn't exactly a general-purpose
> shared library, and I think we could make an exception with this.
OK, here I agree (if it made sence). Libfakeroot already doesn't
behave like it should with respect to policy: it doesn't provide
a -dev pacakage etc. But that is because fakeroot-dev would be
utterly useless (an empty package at best, or I could put the static
libs in there, but they would make every package statically linked
against them stop to work).
[1] Oh, I just found a bug in those prerelease fakeroot_0.1-0x
packages. I'm rather confident libc5 programmes that do stat() etc.
under fakeroot will fail with them. But nobody noticed, anyway
(including me, I only saw it in the source).
PS, I hope you didn't mean to say that libfakeroot should be a
_real_ static library (.a). That is nonsence. the dynamic
linker doesn't excactly know how to link static libraries.
--
joost witteveen, joostje@debian.org
#!/usr/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
#what's this? see http://www.dcs.ex.ac.uk/~aba/rsa/
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org .
Trouble? e-mail to templin@bucknell.edu .
Reply to: