Почему сбой сборки примера Boost.Python?

Я очень расстроен, пожалуйста, помогите мне с этим:

После загрузки Boost1.55 и распаковки его при установке Linux12.04LTS я смог собрать его с $ bootstrap.sh а также $ ./b2, Ошибок не было, поэтому я предполагаю, что все прошло правильно.

Теперь, как объяснено в этот урок, Я призвал $ bjam в boost_1_55_0/libs/python/example/tutorial каталог, но это не похоже на работу. Я получаю предупреждения о несоответствии версий boost и bjam, и файл «link.jam» предположительно отсутствует. Кроме того, учебник упоминает user-config.jam файл в моем домашнем каталоге, который не существует нигде в моей системе.

Я нашел другие вопросы по этому поводу в SO, но большинство из них говорят о проблемах, когда сборка уже была закончена или имела более длительные ошибки. Те немногие, которые были похожи на мою проблему, нашли решения, которые не сработали для меня.

Что я делаю неправильно?


Выход из $ bjam вызов:

felix@felix-Ubuntu-VBox:~/boost_1_55_0/libs/python/example/quickstart$ bjam
warning: mismatched versions of Boost.Build engine and core
warning: Boost.Build engine (bjam) is 03.1.19
warning: Boost.Build core (at /home/felix/boost_1_55_0/tools/build/v2) is 2011.12-svn
link.jam: No such file or directory
/home/felix/boost_1_55_0/tools/build/v2/util/path.jam:458: in path.makedirs
rule MAKEDIR unknown in module path.
/home/felix/boost_1_55_0/tools/build/v2/build/configure.jam:233: in configure.set-log-file
/home/felix/boost_1_55_0/tools/build/v2/build-system.jam:695: in load
/home/felix/boost_1_55_0/libs/python/example/quickstart/../../../../tools/build/v2/kernel/modules.jam:289: in import
/home/felix/boost_1_55_0/libs/python/example/quickstart/../../../../tools/build/v2/kernel/bootstrap.jam:139: in boost-build
/home/felix/boost_1_55_0/libs/python/example/quickstart/boost-build.jam:7: in module scope

2

Решение

В каталоге boost_1_55_0/libs/python/example/ Я использовал версию bjam 1_55, которую вы только что собрали при сборке boost:

../../../b2

Это работает «из коробки» в моей (идентичной) системе. Если у вас отсутствуют зависимости, то обычно ленивый способ их получения

sudo apt-get build-dep libboost-all-dev

который указывает менеджеру пакетов подготовить все зависимости сборки, как если бы вы собирались скомпилировать дистрибутивную версию boost. Чаще всего требования не претерпели существенных изменений с версии, поставляемой с вашим дистрибутивом.

1

Другие решения

Других решений пока нет …