debian dependecy hell

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at
Fri Jul 30 00:56:34 UTC 2004

On Wed, Jul 28, 2004 at 02:38:48PM -0400, Peter L. Peres wrote:
> I am stuck again by the debian (in)dependency problem. I am trying to 
> compile a non-deb package that depends on a lot of stuff, but said stuff 
> in turn depends on other things, and there is a large amount of dependency 
> mismatches. I am new to debian and I am trying to do things otherwise than 
> I would in Slackware (;-), so here is some data and a few questions which 
> I hope you can answer:
> Questions:
> 1. Given a package pkg1 needed, that causes a dependency list that 
> requires pkg2, pkg3 etc to need to be updated before installing pkg1, is 
> there a (safe) way to avoid this recursive installation ?
> 1a. If there is no safe way for 1) then how can I find the pkg1 that goes 
> with pkg2, pkg3 etc, on which pkg1 depends.
> 2. In general, what is the best practice to keep a debian system happy, 
> assuming that one does not want to ride the oldest horse in the stable 
> (i.e. stable version)
> Some data:
> Reading Package Lists...
> Building Dependency Tree...
> You might want to run `apt-get -f install' to correct these:
> The following packages have unmet dependencies:
>   libglib2.0-dev: Depends: libglib2.0-0 (= 2.4.2-1) but 2.2.3-1 is to be 
> installed
>   libgtk2.0-dev: Depends: libgtk2.0-0 (= 2.4.4-1) but 2.2.4-6 is to be 
> installed
>                  Depends: libpango1.0-dev (>= 1.4.0-3) but it is not going 
> to be installed
>                  Depends: libatk1.0-dev (>= 1.6.1-2) but it is not going 
> to be installed
> Some more questions:
> What is the exact meaning of a line like:
> 'libgtk2.0-dev: Depends: libgtk2.0-0 (= 2.4.4-1) but 2.2.4-6 is to be 
> installed'
> (1)                       (2)             (3)         (4)

This means that something you are trying to install wants libgtk2.0-0
version 2.4.4-1, but the only version available (or that is going to be
on the system due to other dependancies on the package) is version
2.2.4-6, so it won't install libgtk2.0-dev that you requested.

The solution is to find out if libgtk2.0-0 version 2.4.4-1 can be
installed (is it available or not, does something else prevent it from
being upgraded?)

This usually happens when you install packages from unstable on testing
(or even worse, stable) and don't install everything that relates to it
from the same version.

apt-get install libgtk2.0-0, and see what version it thinks could be
upgraded too, and if anything else is preventing that upgrade.

Sometimes a package just didn't pass upload checks yet for unstable
which causes a few days of nightmares trying to do an upgrade. :)

> My take is that it means:
> While trying to install (1), it was found that it depends on (2) but 
> something or other (what ?) decided that (4) is to be installed instead of 
> (3) first.

Usually that (4) is already installed and required by something, or (4)
is already installed and (3) does not actually exist in the archives yet.

Lennart Sorensen
The Toronto Linux Users Group.      Meetings:
TLUG requests: Linux topics, No HTML, wrap text below 80 columns

More information about the Legacy mailing list