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

Re: Building my first package



Gregory S. Stark wrote:
> > dpkg-shlibdeps: warning: unknown output from ldd on
> > `debian/zephyr-server/usr/sbin/zephyrd': `  libzephyr.so.2 => not found'
> 
> Of course it's not found, it's provided by one of the packages i'm building.
> Surely dpkg-shlibdeps can deal with this? I could set LD_LIBRARY_PATH to
> include the build directory that has the shared library, but is that really
> necessary to avoid the warning?
I get those warnings, but this is what I did, it may be the "Wrong Way" but
it is the way I do it.

You will need a shlibs.local, it will have a line like
libzephyr 2 <whatever the package that will have your library in it is called>
            <eg libzephyr2 (>> 2-0), libzephyr (<< 3-0)                      >

This is so programs know where to find your library.

Now if you are a radical rebel like me and have a library in your binary
package (because it is so small) then you need some extra trickery. 
(I'm glad they upgraded the link to a T3, I can see the flood of bugreports
coming already :)

I have a file in the debian directory, called procps.shlibs.local.  The procps
source creates three packages, and one of them, also called procps, is the
rebellious library-in-a-binary package.

So the other two packages use the normal shlibs.local file, the rebellous one
uses it's own special file, which looks like:
libproc 1.2.6

That's right, libproc comes from nowhere.  I needed to do this horrible 
kludge to get around self referencing depends, where say ps (in procps package)
needs libproc.so.2 (in procps package) so procps depends on procps.

in my debian rules (I use debhelper, but you get similar flags in the other
methods) I have:
        dh_shlibdeps -pprocps -u"-Ldebian/procps.shlibs.local"
        dh_shlibdeps -plibproc-dev
        dh_shlibdeps -pxproc
        dh_gencontrol -a 
        dh_makeshlibs -a -m1.2.6 -V'procps (>> 1:1.2.6-0), procps (<< 1:1.2.7-0)

Nasty stuff, but it works.

> > dpkg-gencontrol: warning: unknown substitution variable ${shlibs:Depends}
This is due to the fact that dpkg-shlibdeps has failed to find your own library
and hasn't updated the substvars file.  Doing the above (or something similar)
fixes it.

Note that that message is not really a warning, its an error.

> > no utmp entry available and LOGNAME not defined; using uid of process (0) at
> > /usr/lib/dpkg/controllib.pl line 29.
I get similar errors, I have no idea why.  It doesn't seem to mess anything
up though.

  - Craig
-- 
Craig Small VK2XLZ, PGP: AD 8D D8 63 6E BF C3 C7  47 41 B1 A2 1F 46 EC 90
|@work: csmall@scooter.o.i.net,            @play: vk2xlz@vk2xlz.ampr.org|
|@home: csmall@small.dropbear.id.au,           @debian:csmall@debian.org|
|@web: http://www.triode.net.au/~csmall             @spam:root@localhost| 


--
E-mail the word "unsubscribe" to debian-devel-request@lists.debian.org
TO UNSUBSCRIBE FROM THIS MAILING LIST. Trouble?  E-mail to listmaster@debian.org .


Reply to: