"Не удалось найти пакет" - ошибка с 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-летний опыт работы с пакетами и менеджером пакетов, и я бы этого не делал.
Возврат вашей системы в рабочее состояние
Удалите те пакеты, которые вы установили во время неудачных попыток. Удалить эти источники. Ваши попытки привели к конфликту версий (что означает "удерживаемые поврежденные пакеты"). Ваш менеджер пакетов сломан. Вы не можете устанавливать, удалять или обновлять свою систему (включая обновления безопасности), пока не исправите ее.