Lintian ReportsBETA

shared-library-lacks-version

The listed shared library in a public library directory has an SONAME that does not contain any versioning information, either after the .so or before it and set off by a hyphen. It cannot therefore be represented in the shlibs system, and if linked by binaries its interface cannot safely change. There is no backward-compatible way to migrate programs linked against it to a new ABI.

Normally, this means the shared library is a private library for a particular application and is not meant for general use. Policy recommends that such libraries be installed in a subdirectory of /usr/lib rather than in a public shared library directory.

To view the SONAME of a shared library, run readelf -d on the shared library and look for the tag of type SONAME.

There are some special stub libraries or special-purpose shared objects for which an ABI version is not meaningful. If this is one of those cases, please add an override.

For more information please consult:

The tag is present in Lintian version 2.114.163. That is the most recent version we know about.

We use semantic versions. The patch number is a commit step indicator relative to the 2.114.0 release tag in our Git repository.

You can find the detection logic for this version at commit ea05801. For merge requests, please use the latest version in the Lintian check debian/shlibs.

Visibility: warning

Renamed from:
  • shlib-without-versioned-soname

The following 96 source packages in the archive triggered the tag 192 times (in any Lintian version).

We found 151 overrides. The tag performed 21% of the time.