Ubuntu 16.04下安装MultiNest时make步骤报错求助
解决Ubuntu 16.04中MultiNest编译make步骤报错的问题
先明确你的问题场景:
我正尝试在Ubuntu 16.04系统中安装MultiNest与PyMultiNest,已成功安装OpenMPI且可正常运行相关程序,但在MultiNest安装的最终
make步骤中出现报错,具体执行及输出如下:kevin@kevin-VirtualBox:~/MultiNest/build$ make Scanning dependencies of target multinest_static [ 1%] Building Fortran object src/CMakeFiles/multinest_static.dir/utils.f90.o [ 2%] Building Fortran object src/CMakeFiles/multinest_static.dir/utils1.f90.o [ 4%] Building Fortran o...
由于你提供的报错输出被截断了,先给你几个Ubuntu 16.04环境下编译MultiNest的通用排查和解决步骤,这些都是实际踩坑后验证有效的方案:
1. 检查Fortran编译器版本是否达标
Ubuntu 16.04默认的gfortran是5.x版本,而MultiNest的部分特性需要至少gfortran 6以上的版本支持。先查看当前编译器版本:
gfortran --version
如果版本低于6,执行以下命令升级:
sudo apt update sudo apt install gfortran-6 sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-6 100
升级完成后,清理之前的cmake缓存重新配置编译:
cd ~/MultiNest/build rm -rf ./* cmake .. make
2. 确保CMake正确识别OpenMPI的Fortran绑定
有时候cmake会找不到MPI的Fortran编译器,导致编译时出现MPI相关的错误。你可以手动指定MPI的Fortran编译器路径重新配置:
cd ~/MultiNest/build rm -rf ./* cmake -DMPI_Fortran_COMPILER=/usr/bin/mpif90 .. make
如果你的mpif90路径不是这个,可以用which mpif90命令找到正确路径替换进去。
3. 补全缺失的依赖库
MultiNest依赖BLAS和LAPACK数学库,Ubuntu 16.04默认可能没有安装完整的开发包,执行以下命令补装:
sudo apt install libblas-dev liblapack-dev
安装完成后重新执行make。
4. 获取完整的报错信息
你当前提供的输出只到编译初期就截断了,完整的报错信息(比如具体的编译错误、未定义符号、路径问题等)才是精准定位问题的关键。可以执行以下命令保存完整编译日志:
cd ~/MultiNest/build make 2>&1 > multinest_make_error.log
查看multinest_make_error.log里的具体错误内容,就能更有针对性地解决问题了。
内容的提问来源于stack exchange,提问作者kevinea
相关产品推荐
相关产品推荐

