【问题标题】:Installing latest 1.44 boost library under ubuntu 10.04在 ubuntu 10.04 下安装最新的 1.44 boost 库
【发布时间】:2011-04-19 06:27:35
【问题描述】:

我有 ubuntu 10.04,想安装最新的 boost 库 1.44_0

我下载了 tar.gz 文件并解压到 /usr/local/boost_1_44_0

我已经从 synaptic 安装了 boost 1.40 版本。

所以我想针对 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。

... 在::列表]': ./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 文件。

我只是把整个事情搞错了吗?

【问题讨论】:

  • 好的,我清理了整个事情并重新开始。我添加了引导参数来告诉它将包含在 /usr/local/boost/include 和 /usr/local/boost/lib 这工作。还在 bjam 命令行中添加了 --layout=system 选项。文件似乎在那里。仍然存在构建错误,但大多数东西似乎都在那里。明天尝试链接...

标签: c++ ubuntu boost zlib


【解决方案1】:

您在这里错过的是 Boost Python 库特别依赖的 bz2 库。首先使用以下命令安装这个库 - sudo apt-get install libbz2-dev

【讨论】:

  • 谢谢,它还有助于删除旧的 bo​​ost 库。
  • 我有编译 boost 1.60 的经验,我必须同时安装 python-devlibbz2-dev 才能让它干净地构建。
【解决方案2】:

你可以从这里下载最新的 ubuntu 二进制文件:https://launchpad.net/~boost-latest/+archive/ppa

【讨论】:

  • boost 1.41是否有类似的东西
猜你喜欢
  • 2013-02-23
  • 2012-10-12
  • 2012-03-17
  • 2012-06-24
  • 2011-10-23
  • 2011-08-30
  • 1970-01-01
  • 2011-07-30
  • 2011-06-10
相关资源
最近更新 更多