Установка последней версии 1.44 boost в Ubuntu 10.04 - PullRequest
17 голосов
/ 30 сентября 2010

У меня есть Ubuntu 10.04 и я хочу установить последнюю версию библиотеки Boost 1.44_0

Я скачал файл tar.gz и распаковал его в / usr / local / boost_1_44_0

У меня уже естьУстановите версию Boost 1.40 из Synaptic.

Поэтому я хочу скомпилировать и связать с 1.44, потому что я хочу использовать некоторые новые библиотеки, которых нет в более старой версии, такие как дерево свойств.

Но у меня возникают некоторые проблемы с его запуском.

Запустил sudo ./bootstrap.sh (все прошло нормально)

Запустил ./bjam install Были ошибки с bzip2.

gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/file_descriptor.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/mapped_file.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/zlib.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/gzip.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.4.3/release/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: error: bzlib.h: No such file or directory
libs/iostreams/src/bzip2.cpp:31: error: ‘BZ_OK’ was not declared in this scope
libs/iostreams/src/bzip2.cpp:32: error: ‘BZ_RUN_OK’ was not declared in this scope
...

Хотя я не использую bzip2, так что я не волнуюсь.

Но вскоре во время компиляции появляются экраны, полные ошибок.Слишком много, чтобы перечислять здесь, но у них часто есть имя python.

... on :: list] ': ./boost/python/str.hpp:285: создается из' boost :: python:: str boost :: python :: str :: join (const T &) const [with T = boost :: python :: list] 'libs / python / src / object / function_doc_signature.cpp: 321: создан здесь ./boost / python / object_core.hpp: 334: ошибка: 'object_base_initializer' не был объявлен в этой области

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-4.4.3/release/threading-multi/object/function_doc_signature.o" "libs/python/src/object/function_doc_signature.cpp"

...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.3/release/threading-multi/object/function_doc_signature.o...
...skipped <pstage/lib>libboost_python.so.1.44.0 for lack of <pbin.v2/libs/python/build/gcc-4.4.3/release/threading-multi>numeric.o...
...skipped <pstage/lib>libboost_python.so for lack of <pstage/lib>libboost_python.so.1.44.0...
gcc.compile.c++ bin.v2/libs/random/build/gcc-4.4.3/release/threading-multi/random_device.o

Во-первых, почему так много ошибок?Есть и другие, и их слишком много, чтобы перечислять их здесь.

Но главная проблема, с которой я столкнулся, заключается в том, что я хочу ссылаться на библиотеки, но они расположены не там, где ожидается.Я думал, что они будут в boost_1_44_0 / libs, но они не найдены.Хотя я нашел несколько файлов .a, разбросанных по всему.

Я просто все это неправильно строю?

Ответы [ 2 ]

36 голосов
/ 01 октября 2010

Здесь вам не хватает библиотеки bz2 , от которой, в частности, зависит библиотека Boost Python.Сначала установите эту библиотеку, используя следующую команду - sudo apt-get install libbz2-dev.

3 голосов
/ 20 октября 2010

Вы можете скачать последнюю версию бинарника для Ubuntu здесь: https://launchpad.net/~boost-latest/+archive/ppa

...