免責聲明:這不是我的領域,我不知道的行話。提供圖書館的路徑
我想編譯和運行計算服務器上的一些代碼。機器上安裝了intel編譯器。當我嘗試編譯代碼時使用
ifort src.f -o mem
一切正常。如果我嘗試優化的事情:
ifort -fast src.f. -o mem
我先得到消息:
ipo: remark #11001: performing single-file optimizations
ipo: remark #11006: generating object file /tmp/ipo_ifortYepD4m.o
這似乎合乎邏輯的。當我運行了文件,我得到一個錯誤:
./mem: error while loading shared libraries: libgfortran.so.1: cannot open shared object file: No such file or directory
我搜索libgfortran
:
[email protected]:~/prog/mn270.161> locate libgfortran
/home/MATLAB/R2011b/sys/os/glnxa64/libgfortran.so.3
/home/MATLAB/R2011b/sys/os/glnxa64/libgfortran.so.3.0.0
/opt/matlab/r2012b/sys/os/glnxa64/libgfortran.so.3
/opt/matlab/r2012b/sys/os/glnxa64/libgfortran.so.3.0.0
/usr/lib64/gcc/x86_64-suse-linux/4.3/libgfortran.a
/usr/lib64/gcc/x86_64-suse-linux/4.3/libgfortran.so
/usr/lib64/gcc/x86_64-suse-linux/4.3/libgfortranbegin.a
/usr/lib64/libgfortran.so.3
/usr/lib64/libgfortran.so.3.0.0
有沒有辦法告訴ifort可用libgfort庫?
這真的很奇怪。 Ifort不應該依賴於libgfortran而不是它的舊版本。你確定你確實在這裏複製了彙編嗎?爲什麼你在'src.f.'中有另一個點? – 2013-04-23 14:52:00
在調試運行時鏈接問題時,通常很有啓發意義,在其輸出中使用ldd工具和peer。 – 2013-04-23 18:14:14
@VladimirF額外的點是我發佈問題時的一種類型。當我嘗試運行輸出(bin?)文件(這是一個隊列系統)時,輸出由計算服務器打印,而不是由編譯代碼的機器打印。 – Yotam 2013-04-23 19:52:04