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:
- Libraries (Section 10.2) in the Debian Policy Manual
- Dependencies between the library and other packages (Section 8.6) in the Debian Policy Manual
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
- shlib-without-versioned-soname