[Pkg-mono-devel] Solving dh_clideps warnings "missing shlibs"

Mirco Bauer meebey at debian.org
Wed Jun 11 19:58:48 UTC 2008


On Wed, 2008-06-11 at 18:24 +0200, David Paleino wrote:
> Hi all,
> I'm packaging some mono libraries (I've done libanculus-sharp, and now doing
> libwebkit-sharp), and I'm having a warning from dh_clideps:

That's great news! :)

> 
> dh_clideps: Warning: Missing shlibs entry: webkit-1.0.so.1 or webkit-1.0 for:
> webkit-sharp.dll!

Those warnings are pretty common and can be easily fixed.
The issue is that the resolver tries to find the native library that is
used via p/invoke from assemblies in the package (.exe or .dll).
Where are those libraries comming from? are those the native libwebkit
libs from the webkit project? If so, then you need to provide DLL maps
for the assembly that tries to load them using the _correct_ and full
name. Unfortunately many assemblies use native libraries using some
partial name like "webkit" which should be libwebkit.so.0 for example.
Mono tries at runtime some different kinds of names till it succeeds.

Check the CLI policy regarding DLL maps to a) hint the runtime which lib
to use and b) hinting dh_clideps:
http://pkg-mono.alioth.debian.org/cli-policy/ch-mono.html#s4.2

> 
> How to solve this?
> I've added a "dummy" debian/shlibs file:
> 
> webkit-1.0 1 libwebkit-sharp

This sounds wrong to me. That would be correct if your package ships
that library, which I doubt (from the name).

> 
> but that didn't work.
> So, after reading dh_clideps code, I've found this at line 190:
> 
> open($fh, "cat /var/lib/dpkg/info/*.shlibs $pwd/debian/shlibs.local $pwd/debian/*/DEBIAN/shlibs 2> /dev/null |");
> 
> Shouldn't $pwd/debian/shlibs be added also there?

I only added shlib locations that are also used by dh_shlibdeps.

>  Also, it might be useful
> adding this information to the manpage (using shlibs.local worked fine...)

I agree, feel free to file a wishlist bug against cli-common-dev so this
doesn't get lost.

> 
> Kindly,
> David
> 

PS: your packages name sound very wrong (because of the -sharp suffix
and no versioning) if they are named libsomething-sharp, check the CLI
policy regarding naming:
http://pkg-mono.alioth.debian.org/cli-policy/ch-packaging.html#s-gac-naming-versioning

PSS: if you plan to officially package those libraries for debian, you
should consider joining the Debian CLI Libraries Team for maintaining
them:
https://alioth.debian.org/projects/pkg-cli-libs/
thats where all the CLI lib packages are hosted:
http://svn.debian.org/wsvn/pkg-cli-libs/packages/

We are also on #debian-mono @ OFTC (irc.debian.org) if you need help /
sponsoring / mentoring / whatever.

-- 
Regards,

Mirco 'meebey' Bauer

PGP-Key ID: 0xEEF946C8

FOSS Developer    meebey at meebey.net  http://www.meebey.net/
PEAR Developer    meebey at php.net     http://pear.php.net/
Debian Developer  meebey at debian.org  http://www.debian.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: This is a digitally signed message part
Url : http://lists.alioth.debian.org/pipermail/pkg-mono-devel/attachments/20080611/a4d61416/attachment.pgp 


More information about the Pkg-mono-devel mailing list