dpkg не установит пакет с зависимостями, имеющими более новую версию

dpkg не установит пакет с зависимостями, имеющими более новую версию

Пожалуйста, кто-нибудь, объясните мне это, потому что это не имеет смысла:

$ dpkg -i freeling-3.1-quantal-x86_64.deb
Selecting previously unselected package freeling.
(Reading database ... 283003 files and directories currently installed.)
Preparing to unpack freeling-3.1-quantal-x86_64.deb ...
Unpacking freeling (3.1) ...
dpkg: dependency problems prevent configuration of freeling:
 freeling depends on libboost-program-options1.49.0 (>= 1.49); however:
  Package libboost-program-options1.49.0 is not installed.
 freeling depends on libboost-regex1.49.0 (>= 1.49); however:
  Package libboost-regex1.49.0 is not installed.
 freeling depends on libboost-system1.49.0 (>= 1.49); however:
  Package libboost-system1.49.0 is not installed.
 freeling depends on libicu48 (>= 4.8.1); however:
  Package libicu48:amd64 is not installed.

Но у меня liboost 1.54 !!! (ВСЕ пакеты)

$ apt-cache policy libboost-program-options1.54.0
libboost-program-options1.54.0:
  Installed: 1.54.0-5
  Candidate: 1.54.0-5

$ apt-cache policy libboost-program-options-dev
libboost-program-options-dev:
  Installed: 1.54.0.1
  Candidate: 1.54.0.1

И так далее для всех зависимостей. Этот пакет сломан или проблема в моих настройках? Насколько я понимаю,

(>= 1.49)

означает больше или равно 1,49, верно?

решение1

Вам нужен пакет с именем libboost-program-options1.49.0. Это может быть любая версия выше или равная 1.49, но это должно быть имя пакета. libboost-program-options1.54.0— другое имя пакета.

Существуют разные имена пакетов, поскольку они имеют несовместимые ABI, поэтому исполняемый файл, скомпилированный для 1.49.0, не будет работать с 1.54.0 и наоборот. Поскольку имена пакетов различаются, вы можете установить оба, что позволяет использовать программы, скомпилированные для 1.49.0, и программы, скомпилированные для 1.54.0, в одной и той же системе.

Имя пакета …-quantal-…указывает на то, что это пакет, предназначенный для Ubuntu 10.10 quantal. В более поздних выпусках Ubuntu, таких как saucy или trusty, вам следует взять исходный пакет и перекомпилировать его или найти двоичный файл, предназначенный для вашей версии Ubuntu. В качестве альтернативы вы можете попробовать взять старые библиотеки 1.49.0, которые все еще доступны в raring (также старые выпуски Ubuntu архивируются наold-releases.ubuntu.com), но это может привести вас к аду зависимостей, поэтому я рекомендую перекомпилировать Freeling.

решение2

Согласно этой теме под названием:Re:Установка Freeling 3.1 на Ubuntu 13.10 - 2014/01/08 16:30похоже, вам придется его перекомпилировать.

выдержка

Файл freeling-3.1-quantal-x86_64.deb будет работать с Ubuntu Quantal (12.10) и Raring (13.04), поскольку эти выпуски поставляются как с libboost-1.49, так и с libboost-1.53.

Saucy поставляет libboost-1.53 ​​и 1.54, поэтому вам придется скомпилировать FreeLing из исходного кода.

Исходные пакеты для 3.1 не будут компилироваться, но основная версия в SVN будет успешно скомпилирована с boost 1.54

Связанный контент