web-dev-qa-db-fra.com

Augmenter les dépendances non satisfaites

J'ai entendu dire qu'il est facile d'installer des bibliothèques sur Ubuntu, alors je suis passé à Ubuntu. J'ai essayé d'installer boost, alors j'écris:

Sudo apt-get install libboost-all-dev

et je reçois ceci:

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.

Maintenant, je vois qu’il existe un canonical-question pour cela, mais comme le suggère la réponse:

APT est un système de gestion de paquets pour Debian et les autres distributions Linux qui s’y reposent, telles que Ubuntu. Pour la plupart, APT est facile à utiliser pour l’installation, la suppression et la mise à jour de packages. Dans de rares cas, souvent lorsque vous mélangez des dépendances tierces, il est possible qu'apt-get finisse par vous donner une erreur en vous indiquant qu'une installation de paquet n'a pas pu être achevée.

Mais je doute que ma situation soit rare. En fait, la raison même pour laquelle j'ai essayé d'installer boost est parce que je sais que cela devrait être une évidence, et j'aurais souhaité avoir du succès avec celui-ci avant d'installer openscenegraph, ce dont j'aurai réellement besoin. Je voulais essayer si les choses de base fonctionnent, et cela m'a laissé tomber. aidez s'il vous plaît au lieu de dupe-fermer ma question contre la "solution générale" J'ai essayé cela, mais à un moment donné je n'ai aucune idée de ce que les répondants parlent de i.e:

Désactiver/Supprimer/Purger les PPA:

Les PPA (Personal Package Archive) sont des référentiels hébergés sur Launchpad. Vous pouvez utiliser les PPA pour installer ou mettre à niveau des packages qui ne sont pas disponibles dans les référentiels Ubuntu officiels.

Les PPA sont l’une des causes les plus courantes de dépendances non satisfaites, spécialement lorsqu’ils sont utilisés pour mettre à jour le paquet existant dans les référentiels Ubuntu. Pour résoudre le problème, vous avez des options d’arborescence, désactivez, purgez (revenez au paquetage original dans les référentiels Ubuntu) ou supprimez PPA.

Donc, ma question spécifique est la suivante:

J'ai installé Ubuntu 12.04 LTS aujourd'hui même. J'ai installé codeblocks, g ++, build-essentials, pas de problème.

J'ai essayé de Sudo apt-get install openscenegraph, cela a peut-être fonctionné bien que je ne puisse pas localiser les fichiers d'en-tête sur mon disque dur (j'aurais peut-être dû télécharger le openscenegraph-dev (mais il n'existe pas))

J'ai donc choisi d'installer boost pour voir si ce programme d'installation fonctionne correctement et j'ai obtenu (dépendances non satisfaites) ce que j'ai collé ci-dessus.

Pourquoi cela ne fonctionne pas et comment puis-je le faire fonctionner?

Modifier:

apt-cache madison libboost-python-dev

résultats:

libboost-python-dev |   1.48.0.2 | http://archive.ubuntu.com/ubuntu/precise/main AMD64 Packages
4
Jani Kovacs

Les problèmes de dépendance non résolus sont notamment rencontrés lorsqu'une application dépendante possède sa propre dépendance qui ne sera pas installée. Ici c'est le cas.

Le problème est libboost-python-dev dépend libboost-python1.46-dev. Mais il n'a pas été essayé d'être installé.

packages.ubuntu.com .

Donc, pour installer libboost-python-dev, vous devez également installer libboost-python1.46-dev.

Alors courez:

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

** Vous pouvez installer openscenegraph-dev en:

Sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libopenscenegraph80 libopenthreads-dev libopenscenegraph-dev 
0
user224082
Sudo aptitude install libboost-all-dev

Utiliser aptitude au lieu d’apt-get peut vous offrir des solutions automatiques pour supprimer les paquets en conflit.

1
jhclark

Je viens de rencontrer ce problème moi-même. J'ai installé 'libboost1.48-dev', ce qui est similaire à votre cas, où vous avez 'libboost1.48-python-dev'.

  • Vous voulez installer libboost1.48-all-dev et non libboost-all-dev. Ce dernier est la version 1.46, qui est incompatible avec votre libboost1.48-python-dev déjà installé.

  • Vous pouvez également désinstaller libboost1.48-python-dev et installer libboost-all-dev si vous souhaitez revenir à la v1.46.

0
John Kua