Исправить нарушенную зависимость libboost-dev

2

Мне нужно установить fcl, который зависит от libboost-dev. Однако libboost-dev зависит от libboost1.46-dev, и он отказывается устанавливать, потому что у меня более новая версия libboost1.48-dev.

Я следовал инструкциям в ответе на этот вопрос: подходящее и исправление неверных зависимостей , Тем не менее, я не могу бежать debuild -uc -us успешно. Это вывод:

 dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro
dpkg-buildpackage: source package boost-defaults
dpkg-buildpackage: source version 1.48.0.2
dpkg-buildpackage: source changed by Steve M. Robbins 
 dpkg-source --before-build boost-defaults-1.48.0.2
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: libboost1.48-dev (>= 1.48.1)
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1350:
dpkg-buildpackage -rfakeroot -D -us -uc failed

В настоящее время у меня установлен libboost1.48-dev и другие буст-пакеты 1.48.

Эта ссылка показывает источник ошибки libboost-dev: http://www.ubuntuupdates.org/package/core/precise/main/base/libboost-dev

Что я могу сделать, чтобы это исправить?

Редактировать: После проверки зависимостей я понял, что могу удалить libboost1.48-dev и использовать libboost1.46-dev вместо.

Я принял ответ Тердона, потому что я думаю, что это все еще полезная информация.

ehuang
источник
Вы уверены, что у вас есть правильная версия? Жалуется на libboost1.48-dev (>= 1.48.1) а также boost-defaults кажется 1.48.0.2,
terdon
@terdon Synaptic говорит, что у меня есть libboost1.48-dev версия 1.48.0-3
ehuang
Ну, ошибка, которую вы получаете, просит новую версию. Хочет >= 1.48.1 и у тебя есть 1.48.0-3, 1.48.0-3 < 1.48.1
terdon
@terdon Synaptic имеет только версию 1.48.0-3, Знаете ли вы, как перейти на более позднюю версию? Также будет ли решение в superuser.com/questions/388428/... потенциально отравить мои apt-get зависимости.
ehuang

Ответы:

1

Да, решение, с которым вы связаны, не должно влиять ни на что, кроме пакета, который вы перестраиваете. По крайней мере, нет общесистемных изменений или правок в /etc/apt/sources.list,

Что касается последних стабильный libboost, похоже, 1.5.2.0. Вы можете скачать его (или немного более старый выпуск, чтобы быть ближе к тому, что вы установили) из boost sourceforge страница загрузки и скомпилировать из источника.

Кроме того, вы можете поиск пакетов.debian.org где вы можете найти .deb для 1.49.0.1. В зависимости от зависимостей (без каламбура), вы сможете установить это с удачный пиннинг ,

terdon
источник