2013-09-27 148 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'不是很有用,因爲它不告訴你已經嘗試過哪些路徑。 –