编辑:已解决,不正确的升压设置 /facepalm
我一直在尝试在旧系统/集群上安装 boost-mpi。
安装 boost 并使用 bjam --with-mpi 后,我尝试编译 boost-mpi 设置教程附带的 hello_world 示例。我使用 mpic++ 为 bjam 提供了 mpi-autoconfig,当我使用以下内容进行编译时:
/../gnu/bin/mpic++ -I/home/user/boost_1_51_0 communicator.cpp -lstdc++ -L/home/user/boost_1_51_0/stage/lib -lboost_mpi -lboost_serialization
我收到以下错误:
libboost_serialization.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<unsigned short>(unsigned short&)@GLIBCXX_3.4.9'
所以我猜测用bjam构建的时候肯定已经找到了GLIBCXX3.4.9,但是之后
locate libstdc++.so
我用了
"strings /path/to/libstdc++.so | grep LIBCXX"
并且每个只有 3.4.8 作为 GLIBCXX 的最新版本。
我对这个问题感到很困惑。任何帮助表示赞赏!