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即可,若是默认执行下面命令即可,但最新版本1.8.3为/usr/local/lib,所以执行export LD_LIBRARY_PATH+=:/usr/local/lib即可。
export LD_LIBRARY_PATH+=:/usr/lib/openmpi/lib

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

mpirun -n 4 ./hello_c

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

 

posted @ 2014-10-16 22:21  海上的风  阅读(6364)  评论(0编辑  收藏  举报