1. 可執行文件 mpirun
2. ldd命令查看需要的依賴庫
3. 將ldd查詢到的所有需要的庫導出
腳本文件:
可以使用腳本cp.sh將ldd打印出來的依賴庫復制到指定路徑,cp.sh內容如下: #!/bin/sh exe="mpirun" #發布的程序名稱 des="./lib" #你的路徑(lib文件夾需要自己創建) deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }') cp $deplist $des
4. 編寫.sh文檔並將它放在與步驟3同一目錄下(.sh文件命名必須與可執行文件名字一樣)
.sh文件代碼如下: #!/bin/sh appname=`basename $0 | sed s,\.sh$,,` dirname=`dirname $0` tmp="${dirname#?}" if [ "${dirname%$tmp}" != "/" ]; then dirname=$PWD/$dirname fi LD_LIBRARY_PATH=$dirname export LD_LIBRARY_PATH $dirname/$appname "$@"
執行:
./mpirun.sh --version
注:
ldd 可能無法將所有環境運行的相關庫文件導出,庫文件還有其他的庫文件依賴
若是有相關庫文件卻找不到,可以去添加配置文件 sudo vim /etc/ld.so.conf.d/*.conf 或者添加環境變量
可參考:https://www.cnblogs.com/x_wukong/p/4722903.html
報錯:
/usr/bin/ld cannot find 解決:https://blog.csdn.net/mzwang123/article/details/6702889
缺少相關庫文件
參考文檔:https://blog.csdn.net/tingy123/article/details/99707581