libgtk-3-0-Abhängigkeitsprobleme

12

Ich habe versucht, Standardpakete auf meiner Ubuntu-Box zu aktualisieren. Es gibt buchstäblich nichts extra auf dieser Box außer VirtualBox für einige Windows-Sachen, die ich ausführe. Hier ist eine Ausgabe:

$ sudo apt-get update
[...]
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libgail-3-0 : Depends: libgtk-3-0 (= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed
 libgtk-3-0 : Depends: libgtk-3-common (= 3.6.0-0ubuntu3.1) but 3.6.0-0ubuntu3.2 is installed
 libgtk-3-bin : Depends: libgtk-3-0 (>= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed

Und noch eine mit der Option -f:

$ sudo apt-get -f upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages will be upgraded:
  libgtk-3-0 overlay-scrollbar-gtk3
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
26 not fully installed or removed.
Need to get 0 B/2,397 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 203437 files and directories currently installed.)
Preparing to replace libgtk-3-0:amd64 3.6.0-0ubuntu3.1 (using .../libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb) ...
Unpacking replacement libgtk-3-0:amd64 ...
dpkg: error processing /var/cache/apt/archives/libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules', which is also in package ibus-gtk3:amd64 1.4.1-7ubuntu1
Preparing to replace overlay-scrollbar-gtk3:amd64 0.2.16+r357-0ubuntu1 (using .../overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb) ...
Unpacking replacement overlay-scrollbar-gtk3:amd64 ...
dpkg: error processing /var/cache/apt/archives/overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/gtk-3.0/modules', which is also in package libcanberra-gtk3-module:amd64 0.29-0ubuntu2
Errors were encountered while processing:
 /var/cache/apt/archives/libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb
 /var/cache/apt/archives/overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Hier ist die Ausgabe für apt-cache policyalle betroffenen Pakete: pastebin d3YcjPmJ . Alle scheinen vom offiziellen quantalund quantal-updatesRelease-Kanal und einem offiziellen Spiegel zu stammen.

Ich habe es auch versucht sudo apt-get -f install, sudo apt-get dist-upgradeund sudo apt-get clean && sudo rm -r /var/cache/apt/archives/, aber alle führen zu dem gleichen Fehler.

Logan Best
quelle
Ja, ich habe das Update mit den neuen Paketen durchgeführt, und ja, ich habe das Update vor dem Upgrade ausgeführt
Logan Best
Beide Befehle haben dieselbe Ausgabe wie die -f-Ausgabe in der ursprünglichen Anforderung.
Logan Best
1
Haben Sie versucht, das /var/cache/apt/archives/Verzeichnis zu löschen und erneut zu aktualisieren? sudo apt-get clean && sudo rm -r /var/cache/apt/archives/
Lucio
Versucht und gleicher Fehler. Frage aktualisiert.
Logan Best
@LoganBest Bitte versuchen Sie es damit: sudo dpkg -r libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb && sudo dpkg -r overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.debund dannsudo apt-get -f install && sudo apt-get update && sudo apt-get upgrade
Lucio

Antworten:

3

Ok, wenn dieses Problem weiterhin auftritt, tritt es auf, weil einige Pakete nicht funktionieren, wenn die Versionen ihrer Kollegen nicht identisch sind.

libgail-3-0 : Depends: libgtk-3-0 (= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed
libgtk-3-0 : Depends: libgtk-3-common (= 3.6.0-0ubuntu3.1) but 3.6.0-0ubuntu3.2 is installed
libgtk-3-bin : Depends: libgtk-3-0 (>= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed

Wie Sie sehen können, muss für libgail-3-0 libgtk-3-0 3.6.0-0ubuntu3 sein. 2 aber libgtk-3-0 erfordert, dass libgtk-3-common 3.6.0-0ubuntu3 ist. 1 ein Unterschied von .1 Versionen. Da die libgtk-Familie nicht von verschiedenen Versionen sein kann, erhält apt-get einen erwartungsvollen Abhängigkeitsfehler. Wie kann man das lösen? Wir verwenden den holdPaketstatus:

echo "libgtk-3-bin hold" | sudo dpkg --set-selections
echo "libgtk-3-0 hold" | sudo dpkg --set-selections

Damit können Sie normal aktualisieren, bis die Abhängigkeitskonflikte in den Ubuntu-Repositorys gelöst sind.

Sobald Sie das Gefühl haben, Upgrades zulassen zu können, führen Sie einfach Folgendes aus:

echo "libgtk-3-bin install" | sudo dpkg --set-selections
echo "libgtk-3-0 install" | sudo dpkg --set-selections

Eine weitere Option besteht darin, die Installation von Versionen zu erzwingen:

sudo apt-get update
sudo apt-get install libgtk-3-0=3.6.0-0ubuntu3.1 libgtk-3-common=3.6.0-0ubuntu3.1 libgtk-3-0=3.6.0-0ubuntu3.1

Dadurch wird apt-get angewiesen, alles mit derselben Versionsnummer zu installieren.

Braiam
quelle
0

Für alle, die diese Probleme noch haben.

Ich glaube, sie erscheinen, wenn Sie einige Pakete manuell löschen, aber nicht den gesamten Müll entfernen, den sie hinterlassen. In meinem Fall hatte ich libgtknoch installiert und es war eine neuere Version als ich installieren wollte. Es wusste also wirklich nicht, was es mit verschiedenen Versionen der Bibliothek anfangen sollte.

Nach dem Löschen der libgtk-3-0und anderer Pakete mit ähnlichen Problemen ging alles gut.

PS. Beachten Sie, dass Sie, wenn Sie dies getan haben, dies echo "libgtk-3-0 hold" | sudo dpkg --set-selections tun MÜSSEN echo "libgtk-3-0 install" | sudo dpkg --set-selections, um dieses Paket löschen zu können.

Niosus
quelle