Linux中openmpi配置

到 http://www.open-mpi.org/ 下载openmpi并解压,事先安装gcc或g++。

我是openmpi-1.6.5,进入解压文件夹,执行

./configure

这一步执行时间会较长若出现 configure: error: C++ preprocessor "/lib/cpp" fails sanity check 错误

这是缺少相应的库所致,找到原文如下:

/lib/cpp fails sanity check的解决

  在某些软件的时候,运行./configure 会报错,错误提示为:

  configure: error: C++ preprocessor “/lib/cpp” fails sanity 
  check See `config.log’ for more details

  解决办法:出现该情况是由于c++编译器的相关package没有安装,以root用户登陆,在终端上执行:

  # yum install glibc-headers

  # yum install gcc-c++

这位同志使用的是红帽子版本,对于ubuntu来说,只需把yum改成apt-get即可。

由于build-essential中包含许多基本库,执行

sudo apt-get install build-essential

 当再执行上一条命令时我的就没有错误了,然后再执行

make all

 这一步也会执行较长时间,然后再执行

make install

 完成安装,进入examples文件夹编译hello_c.c示例程序

mpicc -o hello_c hello_c.c

  若这步出现mpicc: error while loading shared libraries: libopen-pal.so.4: cannot open shared object file: No such file or directory错误

可以找到libopen-pal.so.4添加到LD_LIBRARY_PATH中,可以在home下执行 apt-file search libopen-pal.so.4找到所在位置,没安装apt-file系统应

该可以提示你安装,安装后在执行时并提示你进行update执行完后在查找应该就可以了。

若不想直接添加libopen-pal.so.4,一般找到你将openmpi装到哪个文件夹下执行

$ export LD_LIBRARY_PATH+=:/dir/where/is/openmpi/lib即可,若是默认执行下面命令即可
export LD_LIBRARY_PATH+=:/usr/lib/openmpi/lib

 我就是执行这一条指令再执行mpicc完成编译,最后执行

mpirun -n 4 ./hello_c

其中4是进程数,就会看到成功执行的程序了

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。