web-dev-qa-db-fra.com

Comment réparer les paquets cassés retenus?

Essayer d'installer libssl-dev sur Ubuntu 14.04.2

$ make
fatal error: openssl/sha.h: No such file or directory
compilation terminated.

$ Sudo apt-get install libssl-dev
The following packages have unmet dependencies:
 libssl-dev : Depends: zlib1g-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ Sudo apt-get install zlib1g-dev
The following packages have unmet dependencies:
 zlib1g-dev : Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4) but 1:1.2.8.dfsg-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

Comment puis-je supprimer le package retenu et installer le correct?

25
Sam Healey

Tout d'abord, essayez de saisir ceci: Sudo dpkg --configure -a

Cela contribuera grandement à corriger les dépendances brisées. Si cela ne suffit pas, essayez: Sudo apt-get install -f

Puis nettoyez et mettez à jour: Sudo apt-get clean && Sudo apt-get update

Ensuite, mettez à niveau: Sudo apt-get upgrade (dites "y" aux mises à niveau)

Si vous recevez un message indiquant que certains packages sont "bloqués", procédez comme suit:

Sudo apt-get dist-upgrade

Maintenant, faites ces deux commandes:

Sudo apt-get purge zlib1g-dev
Sudo apt-get autoremove

Ensuite, voyez ce qui se passe lorsque vous entrez: Sudo apt-get install libssl-dev

Si cela ne fonctionne toujours pas, essayez ceci:

Sudo aptitude install libssl-dev zliblg-dev=1:1.2.8.dfsg-1ubuntu1

Si cela ne fonctionne toujours pas, ouvrez Synaptic Package Manager (Il devrait être dans votre lanceur. Si vous ne le trouvez pas, alors sur le terminal entrez synaptic-pkexec).

Rechercher zlib1g-dev. Si la case à côté de zlib1g-dev n'est pas verte, cliquez dessus et sélectionnez "Marquer pour l'installation". Si vous voyez plusieurs versions, choisissez 1:1.2.8.dfsg-1ubuntu1. Recherchez ensuite libssl-dev. Si la case à côté de libssl-dev n'est pas verte, cliquez dessus et sélectionnez "Marquer pour l'installation".

Sélectionnez ensuite "Appliquer".

20
gracious1

Vous devez rechercher tous les fichiers liés à votre package et les purger, puis réinstaller.

Sudo dpkg --list
Sudo apt-get purge "file-name"

répétez la deuxième commande avec chaque fichier, puis réinstallez-le.

2
Alex

J'ai eu ce problème et l'ai résolu comme suit: 1) Ouvrez l'utilitaire Logiciels et mises à jour 2) Allez dans l'onglet 'Mises à jour' 3) Assurez-vous que toutes les options sont sélectionnées:

+ Important security updates
+ Recommended updates
+ Unsupported updates

4) Sudo apt update && Sudo apt upgrade

5) redémarrer

0
Fedorov7890
Sudo aptitude install lib_name_depending

travaillé pour moi quand je voulais installer libcurl4-openssl-dev sur mon Ubuntu 14.04LTS.

Plusieurs bibliothèques dépendantes n'ont pas été installées sur ma machine, et avec l'utilisation de l'outil aptitude, j'arrive à installer/rétrograder de manière interactive les bibliothèques/packages nécessaires pour pouvoir installer libcurl4-openssl-dev.

0
Danijel Hodzic

Comment je l'ai corrigé quand il a dit des paquets cassés, il y avait un paquet répertorié dessus. J'ai exécuté Sudo apt-get install (nom du package), puis j'ai exécuté Sudo apt-get upgrade, puis cela a fonctionné!

0
user393214