Como lidar com dependências "não instaláveis"?

10

Eu executei sudo apt-get install -y unity-dictionary-lense recebi um aviso de dependências não atendidas:

unity-dictionary-lens: Depende: unity-singlet (> = 0.2.0), mas não é instalável

Encontrei o pacote aqui, mas não consegui instalá-lo.

Emre
fonte

Respostas:

2

Deve referenciar python-unity-singlet. Eu posso consertar isso com muita facilidade, mas há outros problemas, no momento, não funciona, mesmo que você possa instalá-lo. No futuro, você deve registrar um bug sobre coisas como esta. Aqui está o bug relevante para este:

https://bugs.launchpad.net/onehundredscopes/+bug/1030284

mfisch
fonte
4

Provavelmente, você não ativou o universerepositório do Ubuntu, pois unity-singletestá localizado lá e não está disponível no repositório principal.

Verifique suas configurações em 'Fontes de software' ou modifique-o /etc/apt/sources.listadequadamente para ativar o 'universo'.

gertvdijk
fonte
Obrigado pela sugestão. Eu verifiquei /etc/apt/sources.liste vi que inúmeras linhas terminadas com não universeeram comentadas.
Emre
Se o universo estiver ativado, pode haver outros motivos pelos quais o apt optou por marcar o pacote como não instalável. Por exemplo, quando seu sistema possui pacotes conflitantes instalados, isso impede a instalação unity-singlet. Qual é a saída ao instalar o pacote manualmente dos repositórios, ou seja sudo apt-get install unity-singlet(depois de limpar o seu atual primeiro)?
gertvdijk
Eu entendo Package 'unity-singlet' has no installation candidate. Acabei de verificar as fontes de software e ver as marcas de seleção em principal , universo , restrito e multiverso .
Emre
1
Eu negligenciei alguma diferença muito importante na minha resposta. Eu localizei o pacote binário em python-unity-singletvez de unity-singlet. Parece que o seu pacote unity-dictionary-lensestá quebrado e depende do nome do pacote de origem. Tente relatar esse erro ao mantenedor do pacote.
gertvdijk
1

Como apontado por gertvdijk em sua resposta, as informações de controle em unity-dictionary-lensdeveriam ter apontado para a dependência python-unity-siglet.

Fazer isso funcionou para mim:

apt-get download unity-dictionary-lens  
mkdir unity-lens  
dpkg -e unity-dictionary-lens_0.2_all.deb unity-lens  
dpkg --extract unity-dictionary-lens_0.2_all.deb unity-lens  
dpkg-deb --build unity-lens  

sudo gdebi unity-lens.deb  
srj
fonte