如何在Buildroot下构建Boost.MPI?

时间:2017-04-18 17:25:03

标签: boost buildroot boost-mpi

默认情况下,在Buildroot中进行交叉编译时,不会构建包BR2_PACKAGE_BOOST_MPI:它需要检测MPI(例如OpenMPI)配置和库,并且这是不可能的(在buildroot环境中) ),bjam构建系统将通知Boost.MPI被跳过:

warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.

在我的环境中,我可以通过修补output/build/boost-1.61.0/user-config.jam

来解决此问题
using gcc : 6.2.0 : 
     /home/me/buildroot-2016.11/output/host/usr/bin/arm-buildroot-linux-gnueabihf-g++ : 
     <cxxflags>"-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os " <linkflags>"" ;

using mpi : /home/me/buildroot-2016.11/output/host/usr/bin/arm-buildroot-linux-gnueabihf/g++ : 
<find-shared-library>mpi  <find-shared-library>dl ;

(第一行是构建系统配置的user-config.jam的唯一内容;我添加了第二行。此外,还修改了路径。)

注意:我通过查看mpi.jam来源和大量试用错误来获取该bjam行。

但是,任何干净的重建都会删除output/build目录,从而擦除这些更改。

在与Buildroot交叉编译时,是否有一种“正确”的方法可以编译Boost.MPI?或者至少,在构建系统配置编译器之后能够修补user-config.jam文件吗? (请注意,路径取决于我的系统配置和目标主机。)

0 个答案:

没有答案