LICOM编译可能遇到的问题
1. mpi和netcdf的路径检索
可以通过mpirun和ncdump确定大概位置
在根目录下的opt,usr,public这三个可能性较大的目录下查找,mpi和netcdf一般对应在intel、netcdf文件夹。注意:netcdf比较难找,需要仔细一些麻烦一些。
如我的netcdf在/opt/netcdf,目录下有:
检查bin和lib目录,尤其是lib目录下大致涵盖libnetcdf等
/opt/netcdf/bin
/opt/netcdf/lib
如我的mpi在/public/mpi/openmpi/1.8.5/intel
检查目录,如:
/public/mpi/openmpi/1.8.5/intel/bin
&注意:不同服务器下,可能由于版本和安装过程不同,导致目录下的文件内容不一定完全相同。如mpi路径下,有的可能是mpiifort,有的是mpifort,但是一定要保证mpirun的存在。
&注意:可以将找到的mpi和netcdf,增加环境变量~/.bashrc (后面编译过程中可能会出现一个错误和环境变量设置有关)
2. 在Makefile里面可以修改编译器、库的路径(INCLDIR,NLIB,FC)
NCLDIR = -I. -I/usr/include -I/usr/local/include -I /public/mpi/openmpi/1.8.5/intel/include -I/opt/netcdf/include
NLIB = -L/public/mpi/openmpi/1.8.5/intel/lib -L/opt/netcdf/lib -lnetcdf
FC = /public/mpi/openmpi/1.8.5/intel/bin/mpifort \$(FFLAGS)
可能遇到的错误:
>> 1. 读取 NETCDF, undefined reference to
错误提示如:
Id: warning: libsz.so.2,needed by /opt/netcdf/lib/libnetcdf.so, not found (try using -rpath or -roath-link')
/opt/netcdf/lib/libnetcdf.so: undefined reference to 'H5T STD U16LE g'
解决方法: (参考自https://blog.sciencenet.cn/blog-714229-620905.html)
在Makefile NLIB尝试将-L/opt/netcdf/lib -lnetcdf
替换成-L/opt/netcdf/lib -lnetcdf -lnetcdff
或者-L/opt/nc4/lib -Inetcdf -Inetcdff -Ihdf5_hl -Ihdf5 -lsz
,具体如何替换可以依次尝试或根据错误提示,或者直接将netcdf/lib下的内容添加进去。比如netcdf/lib下有netcdf,netcdff,hdf5_hl,hdf5和lsz,选用后者替换方案可以编译成功。
原因:在安装netcdf的时候没有将hdf5等和netcdf关联起来
>> 2. netcdf找错了
错误提示如:diag_mod.F90:209: 错误:netcdf.inc:没有那个文件或目录
解决方法:重新找包含bin,lib,include的netcdf目录,并检查netcdf完整与否
3. 运行
编译成功后,在新生成的文件夹中包含exe和src,检查exe的完整性:
可以在run文档中找到mpirun的具体运行命令。
可能遇到的错误:
>> 1. 没找到mpirun**
如遇到-bash: mpirun: command not found
解决方法: 设置环境变量,在~/.bashrc中添加mpi的路径
export PATH=/public/mpi/openmpi/1.8.5/intel/bin:$PATH
>> 2. 没找到lnetcdf
如遇到./licom2: error while loading shared libraries: libnetcdf.so.7: cannot open shared object file: No such file or directory
解决方法: 设置环境变量,添加netcdf的路径(参考自:https://blog.csdn.net/wallwind/article/details/7580659)
export PATH=/opt/netcdf/bin:$PATH
export LD_LIBRARY_PATH=/opt/netcdf/lib:$LD_LIBRARY_PATH
source ~/.bashrc
后重新运行即可
本文来自博客园,作者:dan-chen,转载请注明原文链接:https://www.cnblogs.com/dan-chen/p/16003016.html
---------------
小陈的学习历险记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具