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

Re: shlib files

> hi.
> i don't understand shlib files :
> a) fakeroot has a shlib file, which lists libc6. 

fakeroot's shlibfile lists libc6 because I believe I have to list
something. Maybe I should list "dpkg", or "bash". (Note: I am not
really sure shlibfiles have to list something on the right. I think
I tried, but I'm not sure any more).

>    so all applications build with fakeroot will depend on libc6. 

Well, all applictations that contain executables should depend on
libc6 anyway. All aplications that don't need on libc6 or libc5
(scripts etc) will not start to depend on libc6 if "compiled" with
fakeroot eighter.

>    that isn't usefull for buildling packages as libc5 binary...

Yes. But notice that fakeroot really depends on everything it does
to be "libc6" stuff. 

Also note (as you mailed me in private, thanks):

rulcmc:/usr/bin$ ldd hello
        libc.so.5 => /lib/libc.so.5 (0x4000b000)
rulcmc:/usr/bin$ ldd /usr/lib/libfakeroot.so.0
        libc.so.6 => /lib/libc.so.6 (0x40009000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
rulcmc:/usr/bin$ LD_PRELOAD=/usr/lib/libfakeroot.so.0 ldd hello
        /usr/lib/libfakeroot.so.0 => /usr/lib/libfakeroot.so.0 (0x4000b000)
        libc.so.5 => /lib/libc.so.5 (0x40011000)
->      libc.so.6 => /lib/libc.so.6 (0x400cd000)
        ld-linux.so.2 => /lib/ld-linux.so.2 (0x4016b000)

I suspect the line marked with "->" to be due to the new "-lc" when
linking the libfakeroot library (there was a seperate thread on debian-devel
that advocated the use of that line). Unfortunately, due to this line
I will never be able to not let a libc5 hello depend on libc6 if
compiled under fakeroot.

> b) the new xlibs list xlib6 (>=3.3-5) that's also not very usefull for
>    building libc5 binary...

I don't understand that part. what's xlibc6 got to do with libc6?
(it's a pure libc5 package).

> did i understand shlib files right ? 
> they map a lib reported with dll to a dependency ?

That's how I understand it, yes.

> i already removed fakeroot.shlib, but still get a libc6 dependency.

That's because of the line marked with "->". Try building with
fakeroot-0.0-7,[1] if I remember correctly, that one wasn't built with
"-lc". (Oops, cannot find it in the changelog...). Also, the shilbsfile
supplied with that version of fakeroot is incorrect, so you don't need
to remove it (removing doesn't make any differeence).

>  - find a machine to compile that is realy libc5 

That will solve all your fakeroot problems, anyway, as fakeroot doesn't
work with libc5 (unless specially compiled for libc5).

[1] For fakeroot_0.0-7a_i386.deb, please visit

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
#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: