无法使用 Intel oneAPI 安装 openmpi

无法使用 Intel oneAPI 安装 openmpi

我已经安装了 oneAPI 并设置了环境。 可以mpiifort正常工作, 也可以ifor -V,它返回正确的编译器版本。

我正在尝试使用 Intel 编译器设置 openmpi,因为 CosmoMC 需要它。我是这样配置的:

./configure --prefix=/usr/local/ F77=/opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/ifort FC=/opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/ifort F90=/opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/ifort ICC=/opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/icc ICPC=/opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/icpc

但之后当我sudo make出现一些错误时。最新的是:

    ifort: command line warning #10434: option '-nofor_main' use with underscore is deprecated; use '-nofor-main' instead
ld: /opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/../../bin/intel64/../../lib/icx-lto.so: error loading plugin: libimf.so: cannot open shared object file: No such file or directory
make[2]: *** [Makefile:1903: libmpi_usempi_ignore_tkr.la] Error 1
make[2]: Leaving directory '/home/souvik/cosmology/openmpi-4.1.0/ompi/mpi/fortran/use-mpi-ignore-tkr'
make[1]: *** [Makefile:3555: all-recursive] Error 1
make[1]: Leaving directory '/home/souvik/cosmology/openmpi-4.1.0/ompi'
make: *** [Makefile:1901: all-recursive] Error 1

我尝试了很多选项,比如声明路径等,但都无法解决问题。问题是,即使使用其他配置,我也避免了错误,但却mpif90 -V没有返回正确的英特尔编译器版本。

答案1

我最近遇到了这个错误。我通过 安装 openmpi 到 root 拥有的目录sudo -E make install,但安装失败,并显示您发布的错误消息。我只能通过安装到我拥有的目录make install(没有sudo)来解决这个问题。我希望知道为什么sudo -E在这种情况下不起作用。我仍然安装到我最初想要的目录中,我只需要给它正确的权限。

答案2

我最近遇到了同样的错误,希望我的解决方案能够有所帮助。

我创建了一个符号链接libimf.so/usr/lib我的情况是 Ubuntu 19),如下所示这个答案Ubuntu 启动时 X windows 挂起

我对后面与 相关的错误做了同样的事情.so libraries。最后它编译成功了。包括类似的帖子:回复:[OMPI 用户] OpenMPI 1.6.4 和 Intel Composer_xe_2013.4.183:远程运行问题,orted:加载共享库时出错:libimf.so

我是 OpenMPI 和 Linux 的新手,所以仍然不知道原因和 Linux 中的库优先级设置......

相关内容