Score:0

How to approach Ubuntu package circular broken dependency chain (here: 'security [amd]' vs 'security [all]')

es flag

I tried to install a pretty common pacakge - 'gnome-tweaks' - on top of a fresh ubuntu-20.04 install (downloaded and installed yesterday). This is hitting an unresolvable chain of impossible dependencies, and I'm trying to understand what's the correct way to diagnose/resolve it. It seems like such a common/famous pacakge that it's almost impossible it's a bug - instead something must be wrong with my (less than 24 hours old) install.

  1. gnome-tweaks only exists as 3.34.0-2ubuntu
  2. ...which requies gnome-shell-extension-prefs
  3. ......which ONLY exists as version 3.36-4-1ubuntu1~20.04.2
  4. ........which REQUIRES gnome-shell = 3.36.4-1ubuntu1~20.04.2
  5. But the freshly installed OS has gnome-shell = 3.36.9-0ubuntu0.20.04.2

How I thought you should approach these problems

  1. Check everything's at current up-to-date versions (as per @changanAuto's comment): this may not be necessary, but most people most of the time want this anyway and (in the case of a fresh install of OS) it's probably what you want
  2. Check apt sources: if we only have standard sources, the above should be impossible: there should be no setup where your sources have a core package that's installed in a version newer than the latest possible
  3. If sources are all boring and standard, then check the Origin of each package in the chain: if one of those origins is weird or broken, it may be missing some of the packages that are supposed to be in it, causing the system to try and satisfy dependencies from a different Origin (which has only older, or only newer, versions)
  4. If that still doesn't work, check if the package itself has been killed by the author/maintainer, and hence disappeared from the latest sources
  5. ...if all the above doesn't work: you are accessing a corrupt/broken source, and you've found a bug that needs reporting.

If I'm correct in the above, it seems:

  • all my sources are plain and boring, I'm only using 'focal' (ubuntu-20.04) and I can't see anythign strange in there. I've added none manually.
  • gnome-shell-common comes from: focal-security[all]
  • gnome-shell-extension-prefs comes from: focal-security[amd64]
  • gnome-shell-common is a newer version (incompatible with) gnome-shell-extension-prefs

...does this mean that 'focal-security[all]' (currently) has a bug in that it's blocking amd64 machines from being useable?

...should we NOT be installing security updates by default?

ChanganAuto avatar
us flag
Make sure all the official repositories are enabled and that the system is fully updated - `sudo apt update && sudo apt full-upgrade - before trying to install new software.
Adam avatar
es flag
@ChanganAuto thanks I should have mentioned I'd done that already. There's nothing left to upgrade, nothing upgradeable, right now. Fresh install + almost nothing extra installed + did an upgrade immediately after install == everything is up to date.
Score:1
es flag

After rooting around in the desktop, I discovered that 'Software & Updates' > 'Updates' > 'For other packages, subscribe to' was set to:

"Security updates only"

...given that my problems seemed to be a conflict in the 'security' repositories, I tried switching that to 'All updates' and suddenly everythings' good. I'm assuming that 'security updates only' was the default (but it's entirely possible I changed it just after installing the OS, and forgot I did so)

So, if I understand correctly, what happened was:

  1. I thought my apt sources were all correct, by eyeballing the apt/sources.list and double-checking everything there was as I exepcted
  2. ...but I misread the contents, and didn't realise that I was somehow blocked from accessing regular updates from some sources
  3. ...and one of the security updates required me to also have non-security updates, in order to satisfy the chain.
ChanganAuto avatar
us flag
All updates is the default actually. My initial comment under the question assumed that much.
user535733 avatar
cn flag
A valuable lesson: When the dependencies does not make sense, check for constraints imposed by the admin.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.