"Не удалось найти пакет" - ошибка с Boost в Ubuntu

проблема

Я попытался установить Boost версии 1.55 (мне нужна эта конкретная версия для моих программ) с помощью команды:

sudo apt-get install libboost1.55-all-dev

Но он продолжает давать мне сообщение об ошибке:

Reading package lists... Done
Building dependency tree Reading state
information... Done
E: Unable to locate package libboost1.55-all-dev
E: Couldn't find any package by glob 'libboost1.55-all-dev'
E: Couldn't find any package by regex 'libboost1.55-all-dev'

Что я пробовал

Этот вопрос предлагает попробовать:

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install libboost-all-dev

Но я продолжаю получать ту же ошибку.


Этот вопрос предлагает попробовать:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager    
sudo apt-get update    
sudo apt-get install y-ppa-manager

Но это только дало мне следующие ошибки, которые я не мог найти:

The following packages have unmet dependencies:
 y-ppa-manager : Depends: yad (>= 0.36.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Этот вопрос предлагает попробовать использовать apt-файл для поиска пакетов, которые мне требуются для его установки, но ничего не появляется, когда я запускаю команду поиска.


Вопрос

Каковы возможные причины и решения этой проблемы?

1 ответ

Причиной вашей проблемы является предположение, что репозитории Ubuntu являются комплексными и содержат устаревшее программное обеспечение.

На самом деле, Ubuntu - это "снимок" дистрибутива. В процессе выпуска включается только последний стабильный снимок всего доступного программного обеспечения. Старые версии не включены.

Возможные решения

1) Если источник доступен, вы можете перекомпилировать с текущими зависимостями.

2) Libboost1.55 доступен в некоторых старых версиях Ubuntu.

$ rmadison libboost1.55-dev
libboost1.55-dev | 1.55.0-1             | trusty/universe | amd64, arm64, armhf, i386, powerpc, ppc64el
libboost1.55-dev | 1.55.0+dfsg-3ubuntu2 | vivid           | amd64, arm64, armhf, i386, powerpc, ppc64el

Самое безопасное и простое решение - установить Ubuntu 14.04 на виртуальную машину, чтобы безопасно запускать программное обеспечение, не нарушая текущую систему.

Некоторые могут предложить альтернативу: понижение версии libboost (установка пакета 14.04 в системе 16.04). Однако это может быть сложно и опасно для неопытных пользователей. У меня 12-летний опыт работы с пакетами и менеджером пакетов, и я бы этого не делал.

Возврат вашей системы в рабочее состояние

Удалите те пакеты, которые вы установили во время неудачных попыток. Удалить эти источники. Ваши попытки привели к конфликту версий (что означает "удерживаемые поврежденные пакеты"). Ваш менеджер пакетов сломан. Вы не можете устанавливать, удалять или обновлять свою систему (включая обновления безопасности), пока не исправите ее.

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