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.

Severity: warning
Experimental: false
Renamed from: shlib-without-versioned-soname

See also