web-dev-qa-db-fra.com

Impossible d'installer libssl1.0.0: i386 en raison de "dépendances non satisfaites"?

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
4
Nathan Osman

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.

8
Mike Miller

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
2
sharat kanthi

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.

1
necrifede