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是進程數,就會看到成功執行的程序了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM