我想用gcc 4.5.2在Ubuntu11.04上构建所有的助推库。所以我开始下载tar.bz2文件。我把它扩大了。我运行bootstrap.sh并注意到它抱怨unicode,所以我安装了:
sudo apt-get install libicu-dev
现在,它似乎正在愉快地使用unicode进行构建。问题是,我也想链接到OpenMPI。哦哦。因此,我将using mpi ;添加到./tools/build/v2/user-config.jam并运行构建命令:
./bjam --layout=versioned --build-type=complete
并增加打印错误(我已经缩短了大段落):
error: Duplicate name of actual target: <pstage/lib>mpi.so
error: previous virtual target { common%common.copy-mpi.so.PYTHON_EXTENSION {..。然后再读几页..。
error: created from ./stage-proper
error: another virtual target { common%common.copy-mpi.so.PYTHON_EXTENSION {..。然后再写几页..。
error: created from ./stage-proper
error: added properties: <debug-symbols>off <define>NDEBUG <inlining>full <library>object(file-target)@3501 <library>object(file-target)@3568 <library>object(file-target)@4171 <library>object(file-target)@4184 <library>object(searched-lib-target)@4066 <library>object(searched-lib-target)@4072 <library>object(searched-lib-target)@4078 <optimization>speed <runtime-debugging>off <variant>release <xdll-path>/home/mtibbits/src/boost_1_46_1/bin.v2/libs/mpi/build/gcc-4.5.2/release/threading-multi <xdll-path>/home/mtibbits/src/boost_1_46_1/bin.v2/libs/python/build/gcc-4.5.2/release/threading-multi <xdll-path>/home/mtibbits/src/boost_1_46_1/bin.v2/libs/serialization/build/gcc-4.5.2/release/threading-multi
error: removed properties: <debug-symbols>on <inlining>off <library>object(file-target)@1244 <library>object(file-target)@1350 <library>object(file-target)@2378 <library>object(file-target)@2393 <library>object(searched-lib-target)@2217 <library>object(searched-lib-target)@2223 <library>object(searched-lib-target)@2229 <optimization>off <runtime-debugging>on <variant>debug <xdll-path>/home/mtibbits/src/boost_1_46_1/bin.v2/libs/mpi/build/gcc-4.5.2/debug/threading-multi <xdll-path>/home/mtibbits/src/boost_1_46_1/bin.v2/libs/python/build/gcc-4.5.2/debug/threading-multi <xdll-path>/home/mtibbits/src/boost_1_46_1/bin.v2/libs/serialization/build/gcc-4.5.2/debug/threading-multi
/home/mtibbits/src/boost_1_46_1/tools/build/v2/build/virtual-target.jam:490: in actualize-no-scanner from module object(file-target)@4661
/home/mtibbits/src/boost_1_46_1/tools/build/v2/build/virtual-target.jam:135: in object(file-target)@4661.actualize from module object(file-target)@4661
/home/mtibbits/src/boost_1_46_1/tools/build/v2/build-system.jam:748: in load from module build-system
/home/mtibbits/src/boost_1_46_1/tools/build/v2/kernel/modules.jam:283: in import from module modules
/home/mtibbits/src/boost_1_46_1/tools/build/v2/kernel/bootstrap.jam:142: in boost-build from module
/home/mtibbits/src/boost_1_46_1/boost-build.jam:17: in module scope from module这似乎是一个错误,可以追溯到1.40??但我知道其他人已经把这个弄到手了。有谁知道提升1.46.1的伏都教才能和openmpi打得好吗?
注意:我一直在谷歌上搜索,这似乎不是Ubuntu特有的问题--它已经出现在金图和其他地方。但我没有找到任何具体的解决方案除了没有mpi的构建..。但我做不到。
我很乐意把所有的日志,包的版本,等等。
发布于 2011-07-22 23:57:28
在其他论坛中,我发现在/tools/build/CMake/externals中,应该有一个MPI.cmake文件。添加以下行将允许您使用OpenMPI构建Boost:
set(MPI_INCLUDE_PATH /usr/include/openmpi-x86_64)
set(MPI_COMPILE_FLAGS -I/usr/include/openmpi-x86_64)
set(MPI_LINK_FLAGS -L/usr/lib64/openmpi/lib -L/usr/lib64/openmpi/lib/openmpi
-lmpi_cxx -lmpi)
set(MPI_LIBRARIES /usr/lib64/openmpi/lib/libmpi.so
/usr/lib64/openmpi/lib/libmpi_cxx.so)
set(MPI_FOUND 1)https://stackoverflow.com/questions/6577440
复制相似问题