problemi di dipendenza libgtk-3-0


12

Ho provato ad aggiornare i pacchetti standard sulla mia scatola Ubuntu. Non c'è letteralmente nulla in più su questa scatola tranne VirtualBox per alcune cose di Windows che eseguo. Ecco un output:

$ 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

E un altro con l'opzione -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)

Ecco l'output per apt-cache policytutti i pacchetti interessati: pastebin d3YcjPmJ . Tutti sembrano provenire dal canale ufficiale quantale di quantal-updatesrilascio e da un mirror ufficiale.

Ho anche provato sudo apt-get -f install, sudo apt-get dist-upgradee sudo apt-get clean && sudo rm -r /var/cache/apt/archives/, ma tutti portano allo stesso errore.


Sì, ho effettuato l'aggiornamento con i nuovi pacchetti e sì, ho eseguito l'aggiornamento prima dell'aggiornamento
Logan Best

Entrambi questi comandi hanno lo stesso output dell'output -f nella richiesta originale.
Logan Best

1
Hai provato a cancellare la /var/cache/apt/archives/directory e aggiornarla di nuovo? sudo apt-get clean && sudo rm -r /var/cache/apt/archives/
Lucio,

Provato e stesso errore. Domanda aggiornata.
Logan Best

@LoganBest Per favore, prova con questo: 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.debe poisudo apt-get -f install && sudo apt-get update && sudo apt-get upgrade
Lucio

Risposte:


3

Ok, se stai ancora riscontrando questo problema, succede perché alcuni pacchetti non funzioneranno se le versioni dei loro peer non sono le stesse.

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

Come puoi vedere libgail-3-0 richiede che libgtk-3-0 sia 3.6.0-0ubuntu3. 2 ma libgtk-3-0 richiede che libgtk-3-common sia 3.6.0-0ubuntu3. 1 una differenza di versioni .1. Quindi, poiché la famiglia libgtk non può essere di versioni diverse, apt-get riceve un errore di dipendenza atteso. Quindi come risolverlo? Usiamo lo holdstato del pacchetto:

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

Con questo, è possibile aggiornare normalmente fino a quando i conflitti di dipendenza non vengono risolti nei repository Ubuntu.

Quando ritieni di poter consentire gli aggiornamenti, esegui:

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

Un'altra opzione è quella di forzare l'installazione delle versioni:

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

Questo dirà a apt-get di installare tutto usando lo stesso numero di versione.


0

Per chiunque abbia ancora quei problemi.

Credo che compaiano quando si eliminano manualmente alcuni pacchetti ma non si ripuliscono tutti i rifiuti che si lasciano alle spalle. Nel mio caso avevo libgtkancora installato ed era una versione più recente che volevo installare. Quindi non sapeva davvero cosa fare con le diverse versioni della libreria.

Dopo aver eliminato i libgtk-3-0pacchetti e altri con problemi simili, tutto è andato bene.

PS. Nota che se lo hai fatto echo "libgtk-3-0 hold" | sudo dpkg --set-selections , DEVI farlo echo "libgtk-3-0 install" | sudo dpkg --set-selectionsper poter eliminare questo pacchetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.