[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#607937: apt: New solver in experimental produce strange results



On Fr, 2010-12-24 at 18:30 +0100, Eric Valette wrote:
> Package: apt
> Version: 0.8.10+expnewsolvers1
> Severity: important
> Tags: experimental
> 
> apt-get -t experimental dist-upgrade
> Lecture des listes de paquets... Fait
> Construction de l'arbre des dépendances       
> Lecture des informations d'état... Fait
> Calcul de la mise à jour... E:   Cannot install:  libgtkmm-2.4-1c2a (1:2.22.0-1)
> tri-yann3:/home/valette# apt-get -t experimental upgrade
> Lecture des listes de paquets... Fait
> Construction de l'arbre des dépendances       
> Lecture des informations d'état... Fait
> E:   Cannot remove:   libgtkmm-2.4-1c2a (1:2.20.3-1)
> 
> 
First of all, thanks for testing. Now some conclusions:

The first one makes sense, as e.g.
jak@jak-thinkpad:~$ apt-get -t experimental upgrade -s
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unsolvable:
  me-tv:amd64 Depends on libgtkmm-2.4-1c2a [ amd64 ] < 1:2.20.3-1 -> 1:2.22.0-1 > ( libs ) (>= 1:2.20.0)
  libgtkmm-2.4-1c2a:amd64 Depends on libatkmm-1.6-1 [ amd64 ] < none > ( none ) (>= 2.22.1)

The second one makes sense as well, as you have installed
libgtkmm-2.4-1c2a already, but asked to upgrade it which failed and
because there are already packages depending on it, it failed to remove
the old one.

There are three problems here:
     1. The solver does not handle upgrades correctly yet if parts of
        them are impossible. It should not upgrade that package then,
        but currently it just aborts (that's pending work)
     2. picosat is built without trace support currently which means you
        do not get the relevant information like I got above
     3. It talks about removals and installation sometimes when
        upgrading, as in removing packageA (versionA), installing
        package A (versionB); as it only operates on versions, not on
        packages; and I did not special case upgrades in all places
        yet. 

After all, it's a very experimental solver. It handles all kinds of
installation and removal requests, though; and most real-world upgrade
situations (where all target versions are installable).
-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.





Reply to: