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

Re: More on shared libs and dpkg 1.4



Hello Phil! 
> 
> I'm still struggling with dpkg-shlibdeps.
> I'm (re-)building a package which creates its own library.
> When dpkg-shlibdeps runs, it complains because it cannot resolve the 
> library dependencies (which is normal as the lib isn't installed yet 
> !)
> 
> Here is one of the messages:
> ==
> dpkg-shlibdeps: warning: unknown output from ldd on `import': ` 
> libMagick.so.3.7 => not found'
> ==
> How should I cope with this ?

install the library by hand to the standard location or set LD_LIBRARY_PATH
in your debian.rules file.

> 
> Also, several of the libraries the package uses are not registered by 
> dpkg-shlibdeps. Now, I'm solving the problem by creating a 
> debian/shlibs.local. Is that the right way ? Should I put my library 
> there too ?
> And how should I register my library to dpkg-shlibdeps ?
> 
> Finally, how can I make dpkg-gencontrol generates dependencies for 
> the -dev package to that it explictitely Depends on the same version 
> of the non-dev package ? $(shlibs:Depends) doesn't work as the 
> library my package provides doesn't get into it.
> 
There are two points:
 all libraries not supplied by your package you should (temporarily, until
 they're fixed) put into shlibs.local with their full dependency.
 for your own lib there are two cases:
 - you have a single package containing the library and some programs using it.
   it would be a mess if dpkg-shlibdeps generates a dependency of the package
   to itself. use a line
   libwhatever fullversion 
   in youre shlibs.local so dpkg-shlibdeps finds the library but generates
   an empty dependency.
 - you have one package containing the library and a different package 
   containing programs using this library. The best way, IMHO, is to 
   generate the library package first, install it and rebuild all packages
   after that. As you installed a shlibs control file with the shared lib
   package, dpkg.shlibdeps will work fine.

And don't forget, you have to install a shlibs control file in every package
containing a shared library but those in /etc/dpkg/shlibs.default.

	Helmut

------------------------------------------------------------------------------
Helmut Geyer                                Helmut.Geyer@iwr.uni-heidelberg.de
public PGP key available :         finger geyer@kalliope.iwr.uni-heidelberg.de

--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com


Reply to: