编译器未安装
gfortran
报错 “command not found”。sudo yum install gcc-gfortran # CentOS 7/8
版本兼容性问题
libgfortran.so.3
缺失)。sudo yum install epel-release
sudo yum install compat-libgfortran-48 # 适配 CentOS 8
语法错误
integer :: x
)。-Wall
编译选项启用详细警告:gfortran -Wall -o program program.f90
链接错误(库文件缺失)
function_name
”。libblas
):sudo yum install blas-devel lapack-devel
gfortran -o program program.f90 -L/path/to/lib -llibname
动态库路径问题
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
~/.bashrc
或 /etc/profile
。内存泄漏
Valgrind
检测内存泄漏:sudo yum install valgrind
valgrind --leak-check=full ./program
allocate
)在不再使用时释放(deallocate
)。性能优化
-O2
或 -O3
):gfortran -O2 -o program program.f90
环境变量未正确设置
PATH
和 LD_LIBRARY_PATH
:echo $PATH
echo $LD_LIBRARY_PATH
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
依赖库版本冲突
conda
或 virtualenv
隔离不同项目的环境(推荐用于复杂项目)。rpm -qa
查看已安装库版本,卸载冲突版本。使用调试工具
-g
选项生成调试信息:gfortran -g -o program program.f90
gdb
逐步执行代码:gdb ./program
break main
run
日志记录
print *, "Debug: variable=", x
)。./program > output.log 2>&1