[Aptitude-devel] Bug#878416: aptitude still doesn't do good conflict resolution

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Tue Nov 14 23:05:39 UTC 2017


2017-10-13 15:19 shirish शिरीष:
>Package: aptitude
>Version: 0.8.9-1
>Severity: normal
>
>Dear Maintainer,
>I have been trying to install libegl-mesa0 libegl1 libglvnd0 and
>upgrade libgbm1 but without any success -
>
>[$] sudo aptitude install libegl-mesa0=17.2.2-1 libgbm1=17.2.2-1
>libegl1=0.2.999+git20170802-5 libglvnd0=0.2.999+git20170802-5
>The following NEW packages will be installed:
>  libegl-mesa0 libegl1{b} libglvnd0{b}
>The following packages will be upgraded:
>  libgbm1
>1 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
>Need to get 261 kB of archives. After unpacking 1,042 kB will be used.
>The following packages have unmet dependencies:
> libegl1 : Breaks: libegl1-mesa (< 17.2.0~rc4-1) but 13.0.6-1+b2 is installed
> libegl1-mesa : Depends: libgbm1 (= 13.0.6-1+b2) but 17.2.2-1 is to be installed
>open: 255; closed: 6646; defer: 10; conflict: 42
>
> The following actions will resolve these dependencies:
>
>     Keep the following packages at their current version:
>1)     libegl-mesa0 [Not Installed]
>2)     libegl1 [Not Installed]
>3)     libgbm1 [13.0.6-1+b2 (now, testing)]
>
>
>
>Accept this solution? [Y/n/q/?] n
>open: 652; closed: 44149; defer: 85; conflict: 196
>
>I can understand if the package is uninstallable or something but the
>amount of time it takes to give an alternative solution is a bit too
>much. It has happened with this upgrade as well as other upgrades as
>well. I am at a sort of loss to understand how to navigate this.
>[...]

and

>-- System Information:
>Debian Release: buster/sid
>  APT prefers testing
>  APT policy: (600, 'testing'), (500, 'unstable-debug'), (500,
>'testing-debug'), (1, 'experimental-debug'), (1, 'experimental'), (1,
>'unstable')
>Architecture: amd64 (x86_64)
>Foreign Architectures: i386

Essentially, aptitude tries hard to satisfy the users' requests, and the
problems grow exponentially when adding different suites and
architectures, because there are so many different possibilities to
combine packages.

If left to run long enough, probably it would end up spitting "no
solution".  You can stop it if you don't want to wait that long.

One way to guide its way to a quick solution would be to accept or
reject actions in the first solution offered, e.g., reject the solution
of keeping those not installed.

At least in the occasions that I did it, guiding aptitude to your
preferred outcomes leads to a very quick solution.  But there's never a
guarantee that it's not going to explore the possible solutions, even if
it takes ages.

So I am not sure if it's possible to do something, but I don't see that
changing this to not explore all solutions is a good option.

BTW, that doesn't mean that aptitude doesn't do good conflict resolution
-- maybe that's true, but I don't see this scenario as a good example of
that, because probably what you requested has no solution at all.


Cheers.
-- 
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>



More information about the Aptitude-devel mailing list