Why are there dependencies that aren't actually dependencies on some packages?

Colin Watson cjwatson at ubuntu.com
Thu Oct 4 23:48:41 UTC 2012

On Tue, Aug 21, 2012 at 12:15:06AM -0500, Jordon Bedwell wrote:
> Since when does Brasero or other packages need/require
> liblaunchpad-integration-common to work properly, or they will
> suddenly fall to the ground and never work again.

Jeremy has already given you an answer that will probably be more to
your liking.  However, I'd like to point out that this aspect of the
package dependencies in precise is precisely correct given how the
binary is built.  Looking at /usr/bin/brasero in precise with 'objdump
-p', I see:

Dynamic Section:
  NEEDED               liblaunchpad-integration-3.0.so.1

Since this is a normal straightforward dynamic link, the binary
literally will not start without that library being present.  So feel
free to complain about the binary being built such that it's linked
against that library (and Jeremy's post completely addresses that for
12.10), but given that linkage the dependency is absolutely correct.

While it's possible to arrange things such that dynamically-linked
libraries are loaded conditionally at run-time, it's a fair bit of work,
rather cumbersome, and can often end up introducing bugs.  So, in the
case of a library whose total .deb size (liblaunchpad-integration1 +
liblaunchpad-integration-common) weighs in under 16KiB, we often don't
feel that it's worth making that kind of thing optional.  Of course I'm
glad to see it go since it makes it easier to stay in sync with Debian
and thus makes the system as a whole that bit easier to maintain.


Colin Watson                                       [cjwatson at ubuntu.com]

More information about the Ubuntu-devel-discuss mailing list