Почему сбой сборки примера 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

1 ответ

Решение

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

../../../b2 

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

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

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

Другие вопросы по тегам