Aumentar dependências não atendidas

4

Ouvi dizer que é fácil instalar bibliotecas no Ubuntu, então mudei para o Ubuntu, tentei instalar o boost, então escrevo:

sudo apt-get install libboost-all-dev

e eu entendo isso:

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:  libboost-all-dev :
Depends: libboost-python-dev but it is not going to be installed E:
Unable to correct problems, you have held broken packages.

Agora vejo que há uma canonical-question para essa mas como a resposta sugere:

  

O APT é um sistema de gerenciamento de pacotes para o Debian e outros sistemas Linux.   distribuições baseadas nele, como o Ubuntu. Na maior parte, o APT é   fácil de usar para instalar, remover e atualizar pacotes. Em raras   vezes, quando você está misturando dependências de terceiros,   há uma chance de que o apt-get possa acabar lhe dando um erro   você que uma instalação de pacote não pôde ser concluída.

Mas duvido que exista algo raro na minha situação. Na verdade, a razão pela qual eu tentei instalar o boost é porque eu sei que deveria ser um acéfalo, e eu gostaria de ter algum sucesso com ele antes de instalar o openscenegraph, que eu realmente precisarei. Eu queria tentar se as coisas básicas funcionam, e isso me decepcionou. por favor ajude ao invés de enganar a minha pergunta contra a "solução geral" Eu tentei isso, mas em algum momento eu não tenho idéia do que os respondentes estão falando, por exemplo:

  

Desativar / remover / eliminar os PPAs:

     

PPAs (Personal Package Archive) são repositórios hospedados no Launchpad.   Você pode usar PPAs para instalar ou atualizar pacotes que não estão disponíveis   nos repositórios oficiais do Ubuntu.

     

Uma das causas mais comuns de dependências não atendidas são os PPAs,   especialmente quando usado para atualizar o pacote existente no Ubuntu   repositórios. Para resolver o problema, você tem opções de árvore, desabilitar   purge (reverter para o pacote original nos repositórios do Ubuntu) ou   remova o PPA.

Então, minha pergunta específica é esta:

Eu instalei o Ubuntu 12.04 LTS neste mesmo dia. Eu instalei codeblocks, g + +, build-essentials, sem problemas.

Eu tentei sudo apt-get install openscenegraph , ele pode ter funcionado, embora eu não consiga localizar os arquivos de cabeçalho no meu disco rígido (talvez eu devesse ter baixado o openscenegraph-dev (mas ele não existe))

Então eu escolhi instalar o boost para ver se este instalador de pacotes funciona em primeiro lugar e obtive (dependências não atendidas) o que colei acima.

Por que isso não funciona e como posso fazê-lo funcionar?

Editar:

apt-cache madison libboost-python-dev

retorna:

libboost-python-dev |   1.48.0.2 | http://archive.ubuntu.com/ubuntu/precise/main amd64 Packages
    
por Jani Kovacs 27.12.2013 / 16:27

3 respostas

0

Um dos problemas que surgem nas dependências não atendidas é quando um aplicativo dependente possui uma dependência própria que não será instalada. Aqui é o caso.

O problema é libboost-python-dev depends libboost-python1.46-dev . Mas não foi tentado ser instalado.

packages.ubuntu.com .

Portanto, para instalar o libboost-python-dev , você deve instalar libboost-python1.46-dev também.

Então corra:

sudo apt-get install libboost-all-dev libboost-python-dev libboost-python1.46-dev

** Você pode instalar openscenegraph-dev por:

sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libopenscenegraph80 libopenthreads-dev libopenscenegraph-dev 
    
por user224082 27.12.2013 / 17:23
1
sudo aptitude install libboost-all-dev

Utilizar o aptitude em vez do apt-get pode oferecer-lhe algumas soluções automáticas para remover pacotes em conflito.

    
por jhclark 10.09.2016 / 11:05
0

Eu acabei de me deparar com esse problema. Eu tinha 'libboost1.48-dev' instalado, que é semelhante ao seu caso, onde você tem 'libboost1.48-python-dev'.

  • Você deseja instalar libboost1.48-all-dev , não libboost-all-dev . O último é a versão 1.46, que é incompatível com o seu já instalado libboost1.48-python-dev .

  • Como alternativa, você pode desinstalar libboost1.48-python-dev e instalar libboost-all-dev se quiser voltar para a v1.46.

por John Kua 18.03.2014 / 18:56