I'm trying to upgrade ubuntu, and I'm getting the following error from do-release-upgrade
:
Calculating the changes
Could not determine the upgrade
An unresolvable problem occurred while calculating the upgrade.
This can be caused by:
* Upgrading to a pre-release version of Ubuntu
* Running the current pre-release version of Ubuntu
* Unofficial software packages not provided by Ubuntu
If none of this applies, then please report this bug using the
command 'ubuntu-bug ubuntu-release-upgrader-core' in a terminal.
There are tons of questions on here about this message, but all of them are about specific issues, and in most cases the answers are just guesses ("try removing X").
Most answers are based on looking at grep Broken /var/log/dist-upgrade/apt.log
, but as others have pointed out this lists many packages which the upgrader did actually find a solution for:
Investigating (0) perl-base [ amd64 ] < 5.18.2-2ubuntu1.3 -> 5.22.1-9ubuntu0.2 > ( perl )
Broken perl-base:amd64 Breaks on perl-modules [ amd64 ] < 5.18.2-2ubuntu1.3 > ( perl ) (< 5.22.1~)
Considering perl-modules:amd64 7 as a solution to perl-base:amd64 5277
Added perl-modules:amd64 to the remove list
Fixing perl-base:amd64 via remove of perl-modules:amd64
MarkDelete perl-modules [ amd64 ] < 5.18.2-2ubuntu1.3 > ( perl ) FU=0
So, my question is, how do I read this file? I want to know how work out for myself specifically which package is causing is the issue.
Is there any documentation that explains this log file?
- What does
Investigating (0)
,Investigating (1)
, etc mean? In my log file this goes up to(9)
. What does this mean? - When it says
Broken X Breaks on Y
, which package is currently installed and which is being upgraded? - When it says
Considering X as a solution to Y
, why does it then sayAdding X to the remove list
? If X is the solution shouldn't it be removing Y? - If it says
Holding Back X rather than change Y
, how do I find out why? - I realise this is probably working through a chain of dependencies until it either finds a solution or gives up. In which case, should I be looking at the
first package in the list
,the first package with an error
, orthe last package in the list
?