Comment 0 for bug 1771387

Revision history for this message
Mekk (marcin-kasperski) wrote :

Situation
===============

As more-or-less usual, my attempt to upgrade from 16.04 to 18.04 failed with "Could not calculate upgrade" error (well, one even more confusing and less google-able, as translated to my national language). Also, as usual, I found myself confused, without any pointers what to do next. I tried a few times, tried

It took me switching to LANG=C (to see more googlish error messages) and about 20 minutes of scanning various forums until I found suggestion to check /var/log/dist-upgrade

There I found some rather cryptic remark about unresolvable cyclic dependency which may be caused by held packages, which nevertheless inspired me to look for a way to find held packages.

A few more minutes of googling and I found out about
     apt-mark showhold
which nicely listed my few held packages (nvidia-304 and some related, IIRC results of driver problems I resolved 2 years ago).

I removed those packages and now my upgrade is progressing. But whole experience was very unpleasant.

Suggested changes (tiny changes but with large impact)
======================================================

1. Whenever do-release-upgrade fails, it should suggest checking out /var/log/dist-upgrade.
   Simply, instead of finishing with
       "Could not calculate the upgrade.
       Unresolvable error happened."
   finish with
       "Could not calculate the upgrade.
       Unresolvable error happened.
       Technical logs of failed upgrade can be found in /var/log/dist-upgrade"

   This very sentence would save me at least 2 hours.

2. In case upgrade calculation fails due to held or unofficial packages, either list problematic
   packages, or suggest commands which will list them. For example, my very case would be resolved
   in a minute if installer printed something like:

       Note: upgrade calculation could be caused by held packages:
          nvidia-304 nvidia-304-dev nvidia-current-updates
       (consider removing those packages temporarily to resolve the problem)

   or

       Note: upgrade calculation could be caused by held packages
       (use apt-mark showhold to list such packages on your system, and
        consider removing them temporarily to resolve the problem)