LINTIAN

# `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

- Dependencies between the packages of the same library (Section 8.5) in the Debian Policy Manual

- list of all the affected packages
- the source of this tag