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

Re: Building a shared library with no SONAME



On Wed, Feb 06, 2019 at 11:19:21AM -0500, Nicolas Mora wrote:
> I'm currently packaging libgraphqlparser
> (https://github.com/graphql/libgraphqlparser) which is a library for parsing
> graphql queries.
> 
> Currently, the cmake script file doesn't add the SONAME to the shared
> library, leading to lintian warning:
> https://lintian.debian.org/tags/shlib-without-versioned-soname.html
It's a bad idea to package shared libraries that don't keep stable ABI.

> My best guess is to patch the cmake script to add the SONAME to the compiled
> library name but I'm wondering if there are alternatives or better solutions
> I haven't thought of yet?
Please don't just add a random SONAME. Library versions with different
ABIs must have different SONAMEs so if you add a custom SONAME you will
need to change it each time the ABI changes, with an appropriate package
transition. You may probably want to put the package version or the date
into the SONAME like e.g. libv8 does. Your other option, apart from the
obvious one (waiting for the issue to be fixed upstream), would be
comparing ABIs and maintaining the ABI yourself but I wouldn't recommend
it.

-- 
WBR, wRAR

Attachment: signature.asc
Description: PGP signature


Reply to: