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

Re: Having trouble creating a shared library package



On 2018-12-07 08:27 -0800, John Horigan wrote:
> I maintain a static library package, libagg-dev. There is an outstanding
> request for a shared library of libagg. I'm leaving the original libagg-dev
> binary package as it is, with just the static libraries. I'm adding binary
> packages libagg2-dev and libagg2. libagg2-dev has everything that libagg-dev
> has, plus the shared library. libagg2 has just the shared library.

This is atypical for debian packages. Normally the library package
libfoo is shared, and the libfoo-dev package contains the static
version. You already have the static version in libagg-dev, so why not
just add libagg as the shared version, and be like any other library
in debian?

Can you explain why you think there should be two -dev packages?

> I can't find any definitive information about what should be in a shared
> library SONAME-dev package and SONAME (runtime) package in the /usr/lib/
> <triple> directory. But I looked at the installed files in many libfoo-dev/
> libfoo package pairs and it seems like I should have this:
> 
> ~john$ ls -l libagg2-dev/usr/lib/x86_64-linux-gnu/
> total 1584
> -rw-r--r-- 1 root root 219072 Dec  6 23:14 libagg.so
> ~john$ ls -l libagg2/usr/lib/x86_64-linux-gnu/
> total 216
> lrwxrwxrwx 1 root root     15 Dec  6 23:14 libagg.so.2 -> libagg.so.2.0.4
> -rw-r--r-- 1 root root 219072 Dec  6 23:14 libagg.so.2.0.4
> 
> libagg2-dev has the .so file with the name libagg.so and libagg2 has the .so
> file with the name libagg.so.2.0.4 and the symlink libagg.so.2. 
> 
> But I get a lintian error:
> 
> E: libagg2-dev: ldconfig-symlink-missing-for-shlib usr/lib/x86_64-linux-gnu/
> libagg.so.2 usr/lib/x86_64-linux-gnu/libagg.so libagg.so.2
> 
> I also put in lintian overrides because libagg2-dev installs a .so file with
> the SONAME libagg2 but the package is called libagg2-dev:
> 
> libagg2-dev binary: package-name-doesnt-match-sonames *
> libagg2-dev binary: non-dev-pkg-with-shlib-symlink *
> 
> So what is the deal with -DEV packages and shared libraries? What am I supposed
> to do?

I can help explain this in more detail (as I've been doing a lot of
this recently, and I agree it's confusing), but lets sort out whether
you really need libagg-dev _and_ libagg2-dev first. I think you don't,
and that's just complicating matters.

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/

Attachment: signature.asc
Description: PGP signature


Reply to: