|
|
Subscribe / Log in / New account

...but it is not going to be installed

...but it is not going to be installed

Posted Apr 17, 2025 8:31 UTC (Thu) by juliank (guest, #45896)
In reply to: ...but it is not going to be installed by taladar
Parent article: What's new in APT 3.0

The 3.0 solver will print you two conflicting chains from the root each.

So

Unsatisfied dependencies:
exim4 : Depends: exim4-base (< 4.98.1-1ubuntu2.1) but it is not going to be installed
Depends: exim4-base (>= 4.98.1-1ubuntu2) but it is not going to be installed
Depends: exim4-daemon-light (>= 4.98.1-1ubuntu2) but it is not going to be installed or
exim4-daemon-heavy (>= 4.98.1-1ubuntu2) but it is not going to be installed or
exim4-daemon-custom (>= 4.98.1-1ubuntu2) but it is not installable

becomes:

Error: Unable to satisfy dependencies. Reached two conflicting decisions:
1. exim4:amd64=4.98.1-1ubuntu2 is selected for install
2. exim4:amd64=4.98.1-1ubuntu2 Depends exim4-daemon-light (>= 4.98.1-1ubuntu2) | exim4-daemon-heavy (>= 4.98.1-1ubuntu2) | exim4-daemon-custom (>= 4.98.1-1ubuntu2)
but none of the choices are installable:
- exim4-daemon-light:amd64=4.98.1-1ubuntu2 is not selected for install because:
1. postfix:amd64 is selected for install
2. postfix:amd64 Conflicts mail-transport-agent
[selected postfix:amd64]
- exim4-daemon-heavy:amd64=4.98.1-1ubuntu2 is not selected for install because:
1. postfix:amd64 is selected for install as above
2. postfix:amd64 Conflicts mail-transport-agent
[selected postfix:amd64]


to post comments

...but it is not going to be installed

Posted Apr 17, 2025 8:32 UTC (Thu) by juliank (guest, #45896) [Link] (4 responses)

Sorry this lost formatting and it had no context:
$ apt install postfix exim4
[...]
Unsatisfied dependencies:
 exim4 : Depends: exim4-base (< 4.98.1-1ubuntu2.1) but it is not going to be installed
         Depends: exim4-base (>= 4.98.1-1ubuntu2) but it is not going to be installed
         Depends: exim4-daemon-light (>= 4.98.1-1ubuntu2) but it is not going to be installed or
                  exim4-daemon-heavy (>= 4.98.1-1ubuntu2) but it is not going to be installed or
                  exim4-daemon-custom (>= 4.98.1-1ubuntu2) but it is not installable
Error: Unable to satisfy dependencies. Reached two conflicting decisions:
   1. exim4:amd64=4.98.1-1ubuntu2 is selected for install
   2. exim4:amd64=4.98.1-1ubuntu2 Depends exim4-daemon-light (>= 4.98.1-1ubuntu2) | exim4-daemon-heavy (>= 4.98.1-1ubuntu2) | exim4-daemon-custom (>= 4.98.1-1ubuntu2)
      but none of the choices are installable:
      - exim4-daemon-light:amd64=4.98.1-1ubuntu2 is not selected for install because:
        1. postfix:amd64 is selected for install
        2. postfix:amd64 Conflicts mail-transport-agent
           [selected postfix:amd64]
      - exim4-daemon-heavy:amd64=4.98.1-1ubuntu2 is not selected for install because:
        1. postfix:amd64 is selected for install as above
        2. postfix:amd64 Conflicts mail-transport-agent
           [selected postfix:amd64]

...but it is not going to be installed

Posted Apr 17, 2025 10:25 UTC (Thu) by IanKelling (subscriber, #89418) [Link]

This is excellent. Thank you for the great work.

...but it is not going to be installed

Posted Apr 18, 2025 18:21 UTC (Fri) by niner (subscriber, #26151) [Link] (2 responses)

Does it not ask the user how to resolve the conflict?

...but it is not going to be installed

Posted Apr 18, 2025 20:23 UTC (Fri) by NYKevin (subscriber, #129325) [Link] (1 responses)

In a simple case like this, "resolving" the conflict is just a matter of deleting one of the command line arguments, so it's minimally useful. In the general case, "resolving" the conflict might be arbitrarily complicated because you started dependency solving under the system's original configuration, the resolution would (presumably) entail adding or removing one or more packages, and then that might invalidate some or all of the solving you've already done, so now you have to backtrack all the way to the selected packages and start over with the new configuration. Then you might encounter another conflict, and need to prompt the user for another resolution. Eventually, you might ask the user a question to which they do not immediately know the correct answer, so now they want to pull up a man page (or examine some config file, or whatever), and have to switch to a different terminal (on pain of losing all their progress so far if apt exits).

At that point, it's worth asking whether interactive resolution would add much value as compared to dumping the user back to the shell and letting them iteratively resolve the conflict one step at a time. The (modern) shell is already designed for executing similar commands repeatedly, so what exactly is the user gaining from an interactive procedure?

...but it is not going to be installed

Posted Apr 19, 2025 9:03 UTC (Sat) by niner (subscriber, #26151) [Link]

You make a compelling case for why it would not make sense, yet interactive conflict solving is exactly what zypper does and what I use quite often on my main machine running openSUSE. It tells you there's a conflict, gives you the list of possible solutions, you press the number and it continues happily.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds