Повысить неудовлетворенные зависимости

Я слышал, что легко установить библиотеки в Ubuntu, поэтому я переключился на Ubuntu, я попытался установить boost, поэтому я пишу:

sudo apt-get install libboost-all-dev

и получаю это:

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.

Теперь я вижу, что для этого существует канонический вопрос , но, как следует из ответа:

APT - это система управления пакетами для Debian и других дистрибутивов Linux на ее основе, такие как Ubuntu. По большей части APT прост в использовании для установки, удаления и обновления пакетов. В редких случаях, часто при смешивании сторонних зависимостей, есть вероятность, что apt-get может в итоге выдать ошибку, сообщающую, что установка пакета не может быть завершена.

Но я сомневаюсь, что в моей ситуации есть что-то редкое. Фактически, причина, по которой я пытался установить boost, заключается в том, что я знаю, что это должно быть легко, и я хотел бы иметь некоторый успех с ним перед установкой openscenegraph, который мне действительно понадобится. Я хотел попробовать, работают ли основные вещи, и это подвело меня. пожалуйста, помогите вместо того, чтобы обмануть мой вопрос против «общего решения», которое я пробовал, но в какой-то момент я понятия не имею, о чем говорят ответчики, а именно:

Отключить / Удалить / Очистить PPA :

PPA (Personal Package Archive) - это репозитории, размещенные на Launchpad. Вы можете использовать PPA для установки или обновления пакетов, которые недоступны в официальных репозиториях Ubuntu.

Одной из наиболее распространенных причин неудовлетворенных зависимостей являются PPA, особенно когда они используются для обновления существующего пакета в репозиториях Ubuntu. Чтобы решить эту проблему, у вас есть опции дерева, отключите, очистите (вернитесь к исходному пакету в репозиториях Ubuntu) или удалите PPA.

Итак, мой конкретный вопрос таков:

Я установил Ubuntu 12.04 LTS в тот же день. Я установил кодовые блоки, g ++, build-основы, без проблем.

Я попытался sudo apt-get install openscenegraph, возможно, это сработало, хотя я не могу найти файлы заголовков на своем жестком диске (возможно, мне следовало загрузить openscenegraph-dev (но его нет))

Поэтому я решил установить boost, чтобы посмотреть, работает ли этот пакетный установщик в первую очередь, и я получил (неудовлетворенные зависимости) то, что вставил выше.

Почему это не работает и как я могу заставить его работать?

Редактировать:

apt-cache madison libboost-python-dev

возвращает:

libboost-python-dev |   1.48.0.2 | http://archive.ubuntu.com/ubuntu/precise/main amd64 Packages
5
задан 13 April 2017 в 15:24

3 ответа

Одним из способов возникновения проблем неудовлетворенных зависимостей является случай, когда зависимое приложение имеет свою собственную зависимость, которая не будет установлена. Вот оно и есть.

Проблема в libboost-python-dev зависит от libboost-python1.46-dev. Но его не пытались установить.

packages.ubuntu.com .

Таким образом, чтобы установить libboost-python-dev, вы должны также установить libboost-python1.46-dev.

Итак, запустите:

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

** Вы можете установить openscenegraph-dev с помощью:

sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libopenscenegraph80 libopenthreads-dev libopenscenegraph-dev 
0
ответ дан 13 April 2017 в 15:24
sudo aptitude install libboost-all-dev

Использование aptitude вместо apt-get может предложить вам несколько автоматических решений для удаления конфликтующих пакетов.

0
ответ дан 13 April 2017 в 15:24

Я сам столкнулся с этой проблемой. У меня установлен 'libboost1.48-dev', что похоже на ваш случай, когда у вас есть 'libboost1.48-python-dev'.

  • Вы хотите установить libboost1.48-all-dev, а не libboost-all-dev. Последняя версия 1.46, которая несовместима с вашей уже установленной libboost1.48-python-dev.

  • Кроме того, вы можете удалить libboost1.48-python-dev и установить libboost-all-dev, если хотите вернуться к v1.46.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: