Мне нужно установить 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
вместо.
Я принял ответ Тердона, потому что я думаю, что это все еще полезная информация.
источник
libboost1.48-dev (>= 1.48.1)
а такжеboost-defaults
кажется1.48.0.2
,libboost1.48-dev
версия1.48.0-3
>= 1.48.1
и у тебя есть1.48.0-3
,1.48.0-3 < 1.48.1
1.48.0-3
, Знаете ли вы, как перейти на более позднюю версию? Также будет ли решение в superuser.com/questions/388428/... потенциально отравить мои apt-get зависимости.Ответы:
Да, решение, с которым вы связаны, не должно влиять ни на что, кроме пакета, который вы перестраиваете. По крайней мере, нет общесистемных изменений или правок в
/etc/apt/sources.list
,Что касается последних стабильный libboost, похоже, 1.5.2.0. Вы можете скачать его (или немного более старый выпуск, чтобы быть ближе к тому, что вы установили) из boost sourceforge страница загрузки и скомпилировать из источника.
Кроме того, вы можете поиск пакетов.debian.org где вы можете найти .deb для 1.49.0.1. В зависимости от зависимостей (без каламбура), вы сможете установить это с удачный пиннинг ,
источник