欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MPICH 3.2.1 & Boost 1.68.0编译安装

程序员文章站 2022-06-18 20:18:05
...

!!!参考了好多博客自己尝试了好多天程序终于跑通了特此总结,其他版本编译安装步骤应该一样,仅供参考

0 准备工作

安装前输入下面代码确认是否安装gcc,g++,gfotran,python 2.x(python 2.2 以上的版本都可以)

$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install gfortran
$ sudo apt-get install python

1 编译安装MPICH

# 下载安装包
$ wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
# 解压
$ tar zxvf mpich-3.2.1.tar.gz
# 进入文件夹
$ cd mpich-3.2.1
# 编译 安装
$ mkdir /home/liu/mpich
$ ./configure --prefix=/home/liu/mpich( = 后面是文件安装路径)
$ make
$ make install
# 环境变量配置
$ sudo gedit ~/.bashrc
# 在文件末尾补上下面这句话
export PATH=/home/liu/mpich/bin:$PATH
# 保存退出后,再更新配置文件使其生效
$ source ~/.bashrc
# 检验是否安装成功
$ cd /home/liu/mpich-3.2.1/examples
$ mpirun -np 2 ./cpi

MPICH 3.2.1 & Boost 1.68.0编译安装
参考博客:
https://blog.csdn.net/sinat_30967935/article/details/82988659
http://blog.chinaunix.net/uid-29530577-id-4141020.html

2 编译 安装 Boost

卸载之前的安装

$ sudo apt --purge remove libboost-dev
$ sudo apt --purge remove libboost-all-dev
$ sudo apt --purge autoremove libboost-all-dev
$ sudo rm -rf /usr/lib/libboost_*
$ sudo rm -rf /usr/include/boost

下载安装依赖文件

$ apt-get install mpi-default-dev  #安装mpi库 
$ apt-get install libicu-dev     #支持正则表达式的UNICODE字符集 
$ apt-get install python-dev     #需要python的话 
$ apt-get install libbz2-dev 
# 下载
$ wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
# 解压
$ tar -xzvf boost_1_68_0.tar.gz
$ cd boost_1_68_0
$ ./bootstrap.sh
# 重点!!!!修改 project-config.jam 文件,在第22行后添加一句: using mpi ; 如下图所示,注意添加位置,以及 mpi 和 ; 之间需要一个空格。
$ sudo gedit project-config.jam

MPICH 3.2.1 & Boost 1.68.0编译安装

# 执行
$  ./b2
$  sudo ./b2  install
# 添加boost lib路径到默认搜索路径
$  sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/boost.conf'
# 更新搜索路径
$ sudo ldconfig

测试

// test.cpp
#include <iostream>
#include <boost/array.hpp>
#include <boost/version.hpp>

using namespace std;
int main(){
  boost::array<int, 4> arr = {{1,2,3,4}};
  cout << "hi" << arr[0] << endl;
  cout << "BOOST VERSION: " << BOOST_LIB_VERSION << endl;
  return 0;
}
$ g++ test.cpp -o test
$ ./test

再在自己的程序上测试就可以啦

我的项目测试

$ cd /home/liu/MPIK-Means/test
$ mpic++ -o mpitest mpitest.cpp -L/usr/local/lib -lboost_mpi -lboost_serialization 
$ mpirun -np 3 ./mpitest

若结果如下,有三个Process则证明安装成功!

Process 1: a msg from master
 
Process 2: a msg from master
 
Process 2:
Process 1:
Process 0: zero one two
Process 0: zero one two
Process 1: zero one two
Process 2: zero one two

参考博客:
https://blog.csdn.net/huigougou/article/details/84351578
https://blog.csdn.net/hzrandd/article/details/22989187

相关标签: 安装 ubuntu