计算化学公社

标题: 求助:ORCA4.2.1-openmpi3.1.4调用库文件出错 [打印本页]

作者
Author:
nunup5    时间: 2020-8-7 16:39
标题: 求助:ORCA4.2.1-openmpi3.1.4调用库文件出错
按照sob大神教程安装了新版的openmpi 3.1.4 和ORCA 4.1.2 动态库版
$ which mpiexec
~/apps/openmpi314/bin/mpiexec


$ mpiexec -V
mpiexec (OpenRTE) 3.1.4

Report bugs to http://www.open-mpi.org/community/help/


环境变量也已设置
export PATH=/home/xiem/apps/openmpi314/bin:$PATH
export LD_LIBRARY_PATH=/home/xiem/apps/openmpi314/lib:$LD_LIBRARY_PATH


运行算例时依然出错,找不到库文件:
/home/xiem/apps/orca421/orca_gtoint_mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
/home/xiem/apps/orca421/orca_gtoint_mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
/home/xiem/apps/orca421/orca_gtoint_mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
/home/xiem/apps/orca421/orca_gtoint_mpi: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
--------------------------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
[file orca_tools/qcmsg.cpp, line 458]:
  .... aborting the run


但是这个 libmpi.so.40明明就在这个路径里
$ sudo find / -name "libmpi.so.40"
/home/xiem/apps/openmpi314/lib/libmpi.so.40


要哭了~~~~~~~

作者
Author:
nunup5    时间: 2020-8-7 16:49
是不是我openmpi没装好?
因为在命令行里输入echo $LD_LIBRARY_PATH是这样的
$ echo $LD_LIBRARY_PATH
/home/xiem/apps/g09/g09/:/home/xiem/apps/g09/g09/gv/lib:/home/xiem/apps/orca421
没有环境变量里指定的openmpi的lib路径的!

可是这要怎么办呢?

作者
Author:
thanhtam    时间: 2020-8-7 17:04
修改环境变量之后source或重新登录了吗
作者
Author:
nunup5    时间: 2020-8-7 17:08
thanhtam 发表于 2020-8-7 17:04
修改环境变量之后source或重新登录了吗

恩,这个是肯定的

作者
Author:
nunup5    时间: 2020-8-7 17:11
我在另一台机器上试了下,也是一样的报错信息。
但发现这个库文件libmpi.so.40存在于两个路径下
# find / -name "libmpi.so.40"
/usr/local/lib/libmpi.so.40
/home/inspur/software/openmpi314/lib/libmpi.so.40
我把系统默认的这个lib路径也在环境变量里指认了,然并卵

作者
Author:
thanhtam    时间: 2020-8-7 17:29
总之你要想办法让 echo $LD_LIBRARY_PATH的结果是对的

bashrc截图看看?
作者
Author:
abin    时间: 2020-8-7 18:31
六楼基本提供了解决方案。
作者
Author:
nunup5    时间: 2020-8-7 20:33
thanhtam 发表于 2020-8-7 17:29
总之你要想办法让 echo $LD_LIBRARY_PATH的结果是对的

bashrc截图看看?

感谢回复之前是用intel mpi,在bashrc里注释以后,可以显示当前的mpi版本是openmpi 3.1.4



作者
Author:
zjxitcc    时间: 2020-8-7 20:48
nunup5 发表于 2020-8-7 17:11
我在另一台机器上试了下,也是一样的报错信息。
但发现这个库文件libmpi.so.40存在于两个路径下
# find / ...

你用find查找的时候,库在/home/inspur/software/openmpi314/lib/libmpi.so.40,
然而你的环境变量写的路径是/home/xiem/apps/openmpi314/lib
作者
Author:
hebrewsnabla    时间: 2020-8-8 09:48
nunup5 发表于 2020-8-7 20:33
感谢回复之前是用intel mpi,在bashrc里注释以后,可以显示当前的mpi版本是openmpi 3.1.4

注释以后要重新登录一下,source可能没用
作者
Author:
万里云    时间: 2020-8-8 12:42
像这种需要依赖额外MPI环境的软件,直接用Environment Modules软件管理环境变量吧。改~/.bashrc太麻烦了。
作者
Author:
nunup5    时间: 2020-8-8 15:21
zjxitcc 发表于 2020-8-7 20:48
你用find查找的时候,库在/home/inspur/software/openmpi314/lib/libmpi.so.40,
然而你的环境变量写的 ...

感谢回复
这个没有说清楚哦抱歉!
find命令是在另外一台机器上试的,这台上面出现两个路径,所以想问问是不是要把两个路径全部在环境变量里指认。
1楼的find结果跟环境变量里指认的是一致的。
作者
Author:
thanhtam    时间: 2020-8-8 15:37
本帖最后由 thanhtam 于 2020-8-8 15:40 编辑
nunup5 发表于 2020-8-8 15:21
感谢回复
这个没有说清楚哦抱歉!
find命令是在另外一台机器上试的,这台上面出现两个路径,所以想问问 ...

这说明机器里有两个mpi。前一个可能是系统自带的,通常是openmpi,不过版本不一定符合要求。系统自带的不需要你设置环境变量,直接就能用。但是如果不想用这个,要在环境变量中保证自己安装的openmpi比这个优先级高。

作者
Author:
thanhtam    时间: 2020-8-8 15:43
nunup5 发表于 2020-8-7 20:33
感谢回复之前是用intel mpi,在bashrc里注释以后,可以显示当前的mpi版本是openmpi 3.1.4

bashrc看起来没有什么问题,如果echo环境变量的结果还不对的话,可能是犯了什么别的错误吧……

反正要改到echo结果正确为止




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3