• 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是进程数,就会看到成功执行的程序了

     

  • 相关阅读:
    【36氪收录】观「招商银行」隐私计算布局的思考
    如何用cmake编译
    docker | Ubuntu16.04安装与卸载docker
    通过删除注册表重新获得软件试用期
    k8s | 重启Kubernetes Pod的几种方式
    2021年终总结(一)
    凡是过往、皆为序章20210917PPT分享
    多厂商容器平台开发系统性总结
    VS2022安装.NetFramework4.0目标包的方法
    C# Winform窗体继承过程中,TableLayoutPanel是不支持继承的
  • 原文地址:https://www.cnblogs.com/sdxk/p/4029850.html
Copyright © 2020-2023  润新知