632 votes

Comment résoudre les dépendances non satisfaites après avoir ajouté un PPA ?

De temps en temps, lorsque j'installe des trucs, je reçois une erreur comme celle-ci :

Certains paquets n'ont pas pu être installés. Cela peut signifier que vous avez
demandé une situation impossible ou que vous utilisez la version instable
de la distribution et que certains paquets requis n'ont pas encore été créés
ou ont été déplacés hors de Incoming.
Les informations suivantes peuvent aider à résoudre la situation :

Les paquets suivants ont des dépendances non satisfaites :
package1 : Dépend de package2 (>= 1.8) mais 1.7.5-1ubuntu1 doit être installé
E: Impossible de corriger les problèmes, vous avez des paquets cassés en attente.

Comment puis-je résoudre cela ?

35 votes

Oubliez le nom exact du package. Il est irrelevant pour cette question. Je tente de créer une question canonique. En tant que tel, le package exact n'est pas pertinent dans ce cas spécifique.

36 votes

En fait, "le nom exact du package", bien qu'il ne soit pas pertinent dans votre question, est extrêmement important pour le problème de chaque individu à cet égard. En général, la meilleure première étape pour résoudre cela est d'identifier la source de pkg1 et pkg2. Cela semble avoir été négligé dans les réponses, la plupart étant sinon assez bonnes. De plus, il n'est pas noté que dans de nombreux cas, si ce n'est la plupart, " doit être installé" signifie vraiment " est installé". C'est quelque chose qui tend à confondre de nombreux utilisateurs confrontés à cela et devrait également être inclus dans une réponse ci-dessous.

5 votes

@doug Ajoutez cela comme une réponse et non comme un commentaire, c'est plutôt bon! :)

1voto

h2ooooooo Points 119

Après avoir essayé presque toutes les méthodes mentionnées dans ce fil de discussion (et d'autres), j'étais sur le point d'abandonner. J'avais mis à niveau mon Debian Lenny vers Squeeze, et je ne comprenais pas du tout pourquoi PHP5, Apache, MySQL, etc. ne voulaient pas s'installer. Finalement, j'ai essayé d'utiliser

sudo apt-get purge apache2
sudo apt-get purge php5
sudo apt-get purge mysql-server
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get install apache2 php5 mysql-server

... et ça a fonctionné sans problème! (Attention, cela pourrait endommager vos fichiers de configuration, alors sauvegardez-les!)

0 votes

Cela ne résout pas le problème si vous n'avez pas les packages mentionnés installés.

1voto

Bob Yoplait Points 1744

Ce qui a fonctionné pour moi, c'est de réinstaller la dépendance. C'est le cas où la version installée est plus récente que la dernière (ce que montre Synaptic). Cela revient en fait à permettre à Synaptic de rétrograder le package de dépendance.

Une autre chose qui a fonctionné est d'utiliser "aptitude":

root@arau:~# aptitude install libgfortran3
Les NOUVEAUX paquets suivants seront installés :
  libgfortran3{b} 
0 paquets mis à jour, 1 nouvellement installé, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 250 ko d'archives. Après dépaquetage, 1 230 ko seront utilisés.
Les paquets suivants ont des dépendances non satisfaites :
 libgfortran3 : Dépend: gcc-4.8-base (= 4.8.2-19ubuntu1) mais 4.8.4-2ubuntu1~14.04 est installé.
Erreur interne : 2 mappages (choix -> promotion) ont été trouvés pour un seul choix.
Les actions suivantes permettront de résoudre ces dépendances :

     Conserver les paquets suivants à leur version actuelle :
1)     libgfortran3 [Non installé]                       

Accepter cette solution ? [O/n/q/?] n
Erreur interne : 2 mappages (choix -> promotion) ont été trouvés pour un seul choix.
Erreur interne : 2 mappages (choix -> promotion) ont été trouvés pour un seul choix.
Les actions suivantes permettront de résoudre ces dépendances :

      Rétrograder les paquets suivants :                                        
1)      cpp-4.8 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]       
2)      gcc-4.8 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]       
3)      gcc-4.8-base [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]  
4)      libasan0 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]      
5)      libatomic1 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]    
6)      libgcc-4.8-dev [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]
7)      libgomp1 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]      
8)      libitm1 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]       
9)      libquadmath0 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]  
10)     libstdc++6 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]    
11)     libtsan0 [4.8.4-2ubuntu1~14.04 (maintenant) -> 4.8.2-19ubuntu1 (trusty)]      

Accepter cette solution ? [O/n/q/?] o

0 votes

C'est rien de nouveau, en gros la même chose que ce que vous pouvez retirer de la réponse la mieux notée ici et de celle qui suit...

1 votes

Oui, mais il y a des milliers de solutions, je mentionne simplement ce qui a fonctionné pour moi.

0voto

Wilf Points 28034

Si vous obtenez une erreur comme celle-ci :
entrez ici la description de l'image

Cela signifie que les paquets sont déjà installés, mais que tous les autres paquets nécessaires pour fonctionner n'ont pas été installés. Vous devriez pouvoir résoudre ce problème en exécutant la commande suivante :

sudo apt-get -f install

(Cette commande devrait automatiquement installer les dépendances non satisfaites.)

ou quelque chose comme ceci (avec les paquets pertinents) :

sudo apt-get install click curl dpkg-dev python-lzma python-requests imagemagick ubuntu-dev-tools

Mais si vous obtenez ce type d'erreur :
impossible d'installer le paquet / paquet non disponible / aucun candidat à l'installation, etc.

Vous pouvez alors rechercher des moyens de les installer ici ou ici. Avec l'exemple ci-dessus, vous devriez pouvoir trouver une page comme celle-ci, puis utiliser un PPA, ou installer un .deb pour 32 bits, ou un .deb pour 64 bits.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X