2013-09-27 130 views
0

您好我的全部生物信息学的学生和工作GROMACS,而对于模拟准备,我收到此错误错误加载共享库

[根@计算-0-3斌]# pdb2gmx -f模型317.pdb - 水SPCE

pdb2gmx:错误而载入共享库:libmpi.so.0:无法打开共享对象文件:没有这样的文件或目录**

如何解决这个问题?

+0

您必须首先找出用于构建GROMACS可执行文件的MPI实现。它可以是Open MPI,MPICH,MVAPICH,Intel MPI等。然后,您必须确保库已安装在节点上。 (谁给了你一个计算节点的root权限?!) –

回答

0

我认为它是有用使用strace -eopen COMMAND看到哪些文件实际上是搜索,和打开哪些返回码给每个人。例如:

$ strace -eopen echo foo 
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 
foo 

使用这个技巧来验证它是否只是设置错误的路径。

另外libmpi.so.0可能没有正确安装。您可能有文件libmpi.so.0.1.2.3,并且您需要运行ldconfig或手动创建从libmpi.so.0libmpi.so.0.1.2.3的符号链接。查看更多关于为什么共享库可能会在此处附加不同编号的问题:http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

+0

'ldd -r COMMAND'几乎是一样的,只是它没有显示'dlopen()'-ed库。 –

+0

是的。但是,当库缺失时'ldd'不是很有用,因为它不告诉你已经尝试过哪些路径。 –