在执行多线程编译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,你就会惊奇的发现竟然能编译了,哈哈。