在執行多線程編譯rosetta時執行:
python scons.py bin mode=release extras=mpi -j8 編譯安裝rosetta
會出現錯誤sh: mpiCC command not found導致編譯終止。
解決方法:
1.首先確定已安裝openmpi,不管你是安到/usr/local還是自己定義的安裝目錄,都要確定已經將openmpi的bin目錄和lib目錄放到環境變量里(我的安裝目錄是服務器上我的主目錄下的Programs文件夾下的openmpi里)。環境變量設置如下:
export PATH=/home/**/Programs/openmpi/bin:$PATH
export LD_LIBRARY_PATH=/home/**/Programs/openmpi/lib:$LD_LIBRARY_PATH
2.在添加完環境變量后,問題依舊,便遵循以下操作,至少對我來說是管用。
cp main/source/tools/build/site.settings.topsail main/source/tools/build/site.settings
(原理可能是為rosetta指定mpi的目錄)
或者對site.settings.topsail做symlink鏈接,指向site.setting
然后再次運行python scons.py bin mode=release extras=mpi -j8,你就會驚奇的發現竟然能編譯了,哈哈。