weak-library-dev-dependency

This package seems to contain the development files for a shared library, but the requirement for that shared library to be installed does not include the same version.

A -dev package should normally use (= ${binary:Version}) for the prerequisite on the shared library. That will ensure that programs compile and link properly. The symbolic links for the dynamic linker will also point to the correct places.

To be sure, there are some circumstances when a weak prerequisite is warranted, for example to prevent the breaking of binNMUs with architecture-independent -dev packages. Then something like (>= ${source:Upstream-Version}), (<< ${source:Upstream-Version}+1~) may be the right approach, or possibly ${source:Version} instead. The goal there is to ensure that a new upstream version of the library does not satisfy the prerequisite, since any minor version change might break the *.so links.

Severity: error
Experimental: false

See also