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

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: