Bug#553161: icedove-dev: missing-dependency-on-libc needed by ./usr/lib/icedove/regxpcom and 5 others but the package doesn't depend on the C library package. Normally this indicates that ${shlibs: Depends} was omitted from the Depends line for this package in debian/control.

Manoj Srivastava srivasta at debian.org
Thu Oct 29 08:56:31 GMT 2009

Package: icedove-dev
Severity: serious
Justification: The listed file appears to be linked against the C library,
User: lintian-maint at debian.org
Usertags: missing-dependency-on-libc

All shared libraries and compiled binaries must be run through dpkg-shlibdeps to
find out any libraries they are linked against (often via the dh_shlibdeps
debhelper command). The package containing these files must then depend on
${shlibs:Depends} in debian/control to get the proper package dependencies for
those libraries.

Refer to Debian Policy Manual section 8.6 (Dependencies between the library and
other packages - the shlibs system) for details.

,----[ 8.6 Dependencies between the library and other packages - the shlibs system ]
| If a package contains a binary or library which links to a shared library, we
| must ensure that when the package is installed on the system, all of the
| libraries needed are also installed. This requirement led to the creation of the
| shlibs system, which is very simple in its design: any package which provides a
| shared library also provides information on the package dependencies required to
| ensure the presence of this library, and any package which uses a shared library
| uses this information to determine the dependencies it requires. The files which
| contain the mapping from shared libraries to the necessary dependency
| information are called shlibs files.
| Thus, when a package is built which contains any shared libraries, it must
| provide a shlibs file for other packages to use, and when a package is built
| which contains any shared libraries or compiled binaries, it must run
| dpkg-shlibdeps on these to determine the libraries used and hence the
| dependencies needed by this package.

,----[ 8.6.2 How to use dpkg-shlibdeps and the shlibs files ]
| Put a call to dpkg-shlibdeps into your debian/rules file. If your package
| contains only compiled binaries and libraries (but no scripts), you can use a
| command such as:
|      dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \
|        debian/tmp/usr/lib/*
| Otherwise, you will need to explicitly list the compiled binaries and
| libraries.[53]
| This command puts the dependency information into the debian/substvars file,
| which is then used by dpkg-gencontrol. You will need to place a
| ${shlibs:Depends} variable in the Depends field in the control file for this to
| work.


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'oldstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages icedove-dev depends on:
ii  icedove              free/unbranded thunderbird mail/ne
pn  icedove-gnome-support         <none>     (no description available)

icedove-dev recommends no packages.

icedove-dev suggests no packages.

More information about the Ubuntu-mozillateam mailing list