J'ai essayé de réparer certaines dépendances pour installer Cinelerra, et d'installer stupidement libvpx1: AMD64 pour Sid et cela a donné un paquet cassé. Synaptic ne pouvait pas le réparer. J'ai essayé apt-get install -f
et cela m'a donné ceci:
ZHD ~ # apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
libvpx1 : Breaks: libvpx1:i386 (!= 1.3.0-2) but 1.2.0-2 is installed
libvpx1:i386 : Breaks: libvpx1 (!= 1.2.0-2) but 1.3.0-2 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
J'ai essayé de supprimer libvpx1: AMD64 et il dit que ce n'est pas possible car libvpx1: i386 est une version différente. J'ai essayé l'inverse en supprimant libvpx1: i386, qui indique que ce n'est pas possible, car libvpx1: AMD64 est une version différente. Je ne peux pas rétrograder ou mettre à niveau l'un ou l'autre de ces packages pour essayer de leur donner la même version.
Si quelqu'un a des suggestions, je serais heureux de les entendre!
Aptitude donne quelques solutions, mais implique la désinstallation de la moitié de mon logiciel ....
J'ai trouvé la réponse sur cette page:
http://www.iasptk.com/ubuntu-fix-broken-package-best-solution
Après avoir essayé
Sudo dpkg --configure -a
et
Sudo apt-get install -f
le problème d'un paquet cassé existe toujours la solution consiste à éditer manuellement le fichier d'état de dpkg.
Sudo nano /var/lib/dpkg/status
(vous pouvez utiliser vi ou gedit au lieu de nano)
Localisez le package endommagé, supprimez tout le bloc d'informations à ce sujet et enregistrez le fichier.
J'ai ensuite exécuté Sudo apt-get update && upgrade
et il a demandé d'installer le paquet manquant. Tout fonctionne bien maintenant, et j'ai appris à ne pas installer aussi hardiment les paquets à partir d'autres versions ....
Vous avez installé des versions incompatibles de la même bibliothèque dans différentes architectures (AMD64, i386). Ce n'est pas permis.
Pour résoudre ce problème, exécutez Sudo apt-get install -f libvpx1:i386=1.3.0-2
ou Sudo apt-get install -f libvpx1=1.2.0-2
. L'ancienne commande repoussera libvpx1: i386 vers la version de Sid et la dernière command renverra libvpx1: AMD64 vers la version i386 (Wheezy? Jessie?).
C'est arrivé parce que vous avez probablement installé deux versions distinctes d'apt dont une était incompatible. Par conséquent, déterminez quelle est la version d'architecture de votre système et supprimez l'autre paquet en procédant comme suit: Vous devrez modifier le statut du fichier dpkg manuellement.
$ Sudo nano/var/lib/dpkg/status
(Vous pouvez utiliser n'importe quel autre éditeur au lieu de nano (comme gedit, vi, etc ...)