Não é possível instalar o libssl1.0.0: i386 devido a “dependências não atendidas”?

2

Eu li e segui o conselho em esta questão sem sucesso . Eu estou tentando instalar libssl1.0.0:i386 na minha caixa 14.04 (amd64), mas quando eu tento fazer isso via APT, recebo a seguinte mensagem de erro:

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.

Eu tenho todas as atualizações mais recentes instaladas. Eu corri apt-get -f install . Eu me certifiquei de que todos os repositórios estão habilitados em Fontes de Software.

O que poderia estar causando isso?

Atualização:

Aqui estão os conteúdos 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

... e 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
    
por Nathan Osman 07.05.2014 / 07:09

3 respostas

8

Esse tipo de mensagem de erro geralmente indica que um pacote está sendo instalado, que entra em conflito com outros pacotes instalados, e teria forçado a remoção de outros pacotes dependentes. Ao instalar o mesmo pacote para mais de uma arquitetura ao mesmo tempo (consulte MultiArch ), amd64 e i386 Nesse caso, as versões dos pacotes a serem instalados devem corresponder exatamente a .

O que provavelmente aconteceu neste caso (confirmado por nossa discussão nos comentários) é que libssl1.0.0 foi atualizado para uma versão do PPA que é mais recente que qualquer versão disponível nos repositórios do Ubuntu. Se o PPA foi desabilitado ou desconfigurado posteriormente, os pacotes mais novos normalmente permanecem instalados. Leia esta questão para saber a diferença entre desabilitar e limpar um PPA. No entanto, se você já removeu o PPA da sua configuração apt, você precisará fazer o downgrade manual dos pacotes que foram previamente atualizados a partir do PPA.

Para poder instalar libssl1.0.0:i386 , você deve ter a mesma versão de libssl1.0.0:amd64 instalada no repositório. E como o pacote openssl source constrói vários pacotes binários relacionados, você precisa garantir que todos os seus pacotes também estejam na mesma versão. Se você não especificar todos os pacotes que deseja fazer o downgrade, o apt preferirá desinstalar em vez de fazer o downgrade. Nesse caso, se você tiver libssl1.0.0 , libssl-dev e openssl instalado de um PPA, deverá

sudo apt-get install libssl1.0.0/trusty libssl-dev/trusty openssl/trusty

Responda sim ao aviso de apt-get sobre o downgrade dos pacotes. Agora você deve conseguir instalar o pacote libssl1.0.0:i386 do repositório.

    
por Mike Miller 07.05.2014 / 19:58
1

Cheguei aqui tentando instalar o mongodb-org oficial no trecho do Debian 9. No entanto, enfrentei um erro semelhante ao seu:

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.

e tentando instalar os pacotes um por um:

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.

E encontrei minha solução no próximo artigo: link

Ele só instala o pacote ssl antigo:

$ 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

Depois de fazer isso, o mongodb-org foi instalado bem. espero que você ache útil.

    
por necrifede 29.06.2017 / 04:57
1

Isso ocorre porque a biblioteca de soquete da web não está instalada. Tente executar

sudo apt-get install libwebsockets-dev

antes de executar

sudo apt-get install mosquitto
    
por sharat kanthi 16.04.2018 / 12:44