[maemo-developers] Packaging - dpkg-shlibdeps problem

From: Felipe Crochik felipe at crochik.com
Date: Tue Oct 12 16:47:05 EEST 2010
Hi Daniel, 

Almost there.. I don't get a compilation error anymore but now my communi
package becomes dependent on libircclient-qt-dev (not libircclient-qt).

 

Maybe I got it the "lib" idea wrong: libircclient-qt and libircclient-qt-dev
share the exact same code the only difference is on the Makefile (and
control). The dev package installs "everything" (headers, lib, mkspecs) and
the "release" package just the lib. 

 

My communi package has:

Build-Depends: libircclient-qt-dev, .

 

Now when I create the communi package using dh_shlibdeps it adds the
dependency to the "libircclient-qt-dev". I assume there is a way to tell the
libirccclient-qt-dev package that it's "runtime" version is
"libircclient-qt" or something like that, can you help me again?

 

Once you are "here" anyway: I would assume there is a way to have both
libircclient-qt and libircclient-qt-dev not need each to have its own
"source" code. Is there a "smarter/better/easier" way of creating lib
packages? 

 

Thank you!

Felipe

 

  _____  

From: daniel wilms [mailto:daniel.wilms at nokia.com] 
Sent: Tuesday, October 12, 2010 1:28 AM
To: ext Felipe Crochik
Cc: maemo-developers at maemo.org
Subject: Re: Packaging - dpkg-shlibdeps problem

 

Hi,

On 11/10/10 20:16, ext Felipe Crochik wrote: 

I am packaging communi (IRC client)  for the n900 and had an issue with the
autobuilder that I can't figure out.

I also packaged the libircclient-qt library (that communi depends on).

 

This is the error I get (from *1):

 

dpkg-shlibdeps: error: no dependency information found for
/usr/lib/libircclient-qt.so.0 (used by debian/communi/usr/bin/communi).
dh_shlibdeps: dpkg-shlibdeps -Tdebian/communi.substvars
debian/communi/usr/bin/communi returned exit code 2
make: *** [binary-arch] Error 9
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit
status 2

 

 

I was able to make another version of the application build by removing the
dh_shlibdeps (thanks MohammadAG for that) but then had to list the
dependencies manually (and of course missed one). Can anybody help me
understand/fix the problem? I don't know if it is something I missed on the
"libircclient-qt-dev" package or something wrong on the communi package.



you could try to add dh_makeshlibs [1] to your rules file of your library in
the debian-folder. Then you can still use dh_shlibdeps in the
application-package and you don't have to worry about your dependencies.


1. http://www.tin.org/bin/man.cgi?section=1
<http://www.tin.org/bin/man.cgi?section=1&topic=dh_makeshlibs>
&topic=dh_makeshlibs


Daniel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.maemo.org/pipermail/maemo-developers/attachments/20101012/0e3fe612/attachment.htm>
More information about the maemo-developers mailing list