J'ai lu et suivi les conseils de cette question en vain. J'essaie d'installer libssl1.0.0:i386
sur ma boîte 14.04 (AMD64), mais lorsque j'essaie de le faire via APT, le message d'erreur suivant s'affiche:
nathan@nathan-desktop:~$ Sudo apt-get install libssl1.0.0:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help resolve the situation:
The following packages have unmet dependencies:
default-jre-headless : Depends: openjdk-7-jre-headless (>= 7~u3-2.1.1) but it is not going to be installed
openjdk-7-jre : Depends: openjdk-7-jre-headless (= 7u55-2.4.7-1ubuntu1) but it is not going to be installed
Recommends: libgnome2-0 but it is not going to be installed
Recommends: libgnomevfs2-0 but it is not going to be installed
openssh-client : Depends: libssl1.0.0 (>= 1.0.1) but it is not going to be installed
openssh-server : Depends: libssl1.0.0 (>= 1.0.1) but it is not going to be installed
Depends: openssh-sftp-server but it is not going to be installed
Recommends: ssh-import-id but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
J'ai toutes les dernières mises à jour installées. J'ai exécuté apt-get -f install
. Je me suis assuré que tous les référentiels sont activés dans les sources de logiciels.
Qu'est-ce qui peut causer cela?
Mise à jour:
Voici le contenu de apt-cache policy libssl1.0.0
:
libssl1.0.0:
Installed: 1.0.1g-1ppa1~trusty1
Candidate: 1.0.1g-1ppa1~trusty1
Version table:
*** 1.0.1g-1ppa1~trusty1 0
100 /var/lib/dpkg/status
1.0.1f-1ubuntu2.1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main AMD64 Packages
500 http://security.ubuntu.com/ubuntu/ trusty-security/main AMD64 Packages
1.0.1f-1ubuntu2 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
... et apt-cache policy libssl1.0.0:i386
:
libssl1.0.0:i386:
Installed: (none)
Candidate: 1.0.1f-1ubuntu2.1
Version table:
1.0.1f-1ubuntu2.1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu/ trusty-security/main i386 Packages
1.0.1f-1ubuntu2 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
Ce type de message d'erreur indique généralement qu'un package en cours d'installation est en conflit avec d'autres packages installés et aurait forcé la suppression d'autres packages dépendants. Lors de l’installation simultanée du même package pour plusieurs architectures (voir MultiArch ), AMD64
et i386
dans ce cas, les versions des packages à installer doivent correspondre exactement .
Ce qui est probablement arrivé dans ce cas (confirmé par notre discussion dans les commentaires) est que libssl1.0.0
a été mis à niveau vers une version de PPA plus récente que toute version disponible dans les référentiels Ubuntu. Si le PPA a été désactivé ou non configuré par la suite, les nouveaux packages restent normalement installés. Lisez cette question pour connaître la différence entre désactiver et purger un PPA. Cependant, si vous avez déjà supprimé le PPA de votre configuration apt, vous devrez rétrograder manuellement les paquets précédemment mis à niveau à partir du PPA.
Pour pouvoir installer libssl1.0.0:i386
, vous devez avoir la même version de libssl1.0.0:AMD64
installée à partir du référentiel. Et comme le paquet source openssl
crée plusieurs paquets binaires associés, vous devez vous assurer que tous ses paquets ont également la même version. Si vous ne spécifiez pas tous les paquets que vous souhaitez rétrograder, apt préférera désinstaller plutôt que rétrograder. Dans ce cas, si vous avez installé libssl1.0.0
, libssl-dev
et openssl
à partir d'un PPA, vous devez
Sudo apt-get install libssl1.0.0/trusty libssl-dev/trusty openssl/trusty
Répondez oui à l'invite de apt-get
à propos de la rétrogradation des packages. Vous devriez maintenant pouvoir installer le paquetage libssl1.0.0:i386
à partir du référentiel.
En effet, la bibliothèque de socket Web n'est pas installée. Essayez de courir
Sudo apt-get install libwebsockets-dev
avant de courir
Sudo apt-get install mosquitto
Je suis arrivé ici en essayant d'installer le mongodb-org officiel sur debian 9. Cependant, j'ai rencontré une erreur similaire à celle que vous avez:
user@debian:~/folder$ Sudo apt-get install -y mongodb-org
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mongodb-org : Depends: mongodb-org-Shell but it is not going to be installed
Depends: mongodb-org-server but it is not going to be installed
Depends: mongodb-org-mongos but it is not going to be installed
Depends: mongodb-org-tools but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
et essayer d'installer les paquets un par un:
user@debian:~/folder$ Sudo apt-get install -y mongodb-org-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mongodb-org-tools : Depends: libssl1.0.0 (>= 1.0.1) but it is not installable
E: Unable to correct problems, you have held broken packages.
Et j'ai trouvé ma solution dans l'article suivant: https://linuxconfig.org/how-to-install-spotify-on-debian-9-stretch-linux
Il installe seulement l’ancien paquet ssl en faisant:
$ wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_AMD64.deb
$ Sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_AMD64.deb
Après cela, mongodb-org était bien installé. J'espère que vous le trouverez utile.