在CentOS操作系统下安装GNU Fortran编译器(gfortran)是许多科学计算和工程开发任务的重要步骤,gfortran是GNU编译器套件(GCC)的一部分,支持Fortran 77、Fortran 90、Fortran 95以及更高版本的Fortran标准,本文将详细介绍在CentOS系统中安装gfortran的完整流程,包括不同安装方法、常见问题解决及版本管理等内容。

安装前的准备工作
在开始安装gfortran之前,需要确保系统满足基本要求,建议更新系统软件包列表以确保所有依赖项都是最新的,可以通过执行以下命令完成:
sudo yum update -y
确保系统已安装必要的开发工具,如gcc、make等,这些工具通常可以通过安装development tools软件组来获取:
sudo yum groupinstall "Development Tools" -y
如果系统已连接到互联网,上述命令会自动下载并安装所需的依赖包,对于离线环境,可能需要提前下载相应的RPM包并手动安装。
使用yum包管理器安装
CentOS官方软件仓库中通常包含gfortran的预编译包,这是最简单直接的安装方式,根据CentOS版本的不同,命令可能略有差异。
对于CentOS 7及更早版本
在CentOS 7中,可以使用yum命令直接安装:
sudo yum install gcc-gfortran -y
该命令会自动安装gfortran及其依赖项,包括gcc和binutils等,安装完成后,可以通过以下命令验证安装是否成功:
gfortran --version
如果输出显示gfortran的版本信息,则表示安装成功。
对于CentOS 8及更新版本
CentOS 8及更新版本默认使用dnf作为包管理器,但yum命令仍然可用,安装命令如下:
sudo dnf install gcc-gfortran -y
同样,安装完成后可以通过gfortran --version验证。
从源码编译安装
如果需要特定版本的gfortran或希望自定义编译选项,可以从源码编译安装,这种方法较为复杂,但提供了更高的灵活性。

下载GCC源码
访问GCC官方网站(https://gcc.gnu.org)获取最新的源码包,下载GCC 11.3.0:
wget https://ftp.gnu.org/gnu/gcc/gcc-11.3.0/gcc-11.3.0.tar.gz tar -xvf gcc-11.3.0.tar.gz cd gcc-11.3.0
安装依赖项
编译GCC需要大量的依赖项,包括gmp、mpfr、mpc等,可以通过以下命令安装:
sudo yum install gmp-devel mpfr-devel mpc-devel libisl-devel -y
配置和编译
进入源码目录后,运行以下命令配置编译选项:
./contrib/download_prerequisites mkdir build && cd build ../configure --prefix=/usr/local --enable-languages=c,c++,fortran --disable-multilib
--enable-languages指定支持的语言,--disable-multilib可以减少编译时间,配置完成后,执行编译和安装:
make -j$(nproc) sudo make install
编译过程可能需要较长时间,具体取决于系统性能,安装完成后,可能需要将/usr/local/bin添加到PATH环境变量中:
export PATH=/usr/local/bin:$PATH
版本管理与多环境配置
在某些情况下,可能需要同时安装多个版本的gfortran,可以通过update-alternatives工具管理不同版本的编译器。
安装多个版本
安装不同版本的gfortran(如4.8.5和11.3.0),然后使用以下命令注册:
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-4.8.5 50 sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-11.3.0 100
数字表示优先级,数值越高优先级越高。
切换版本
使用以下命令切换gfortran版本:
sudo update-alternatives --config gfortran
根据提示选择所需的版本即可。

常见问题解决
-
错误:缺少依赖项
如果编译或安装过程中提示缺少依赖项,可以使用yum或dnf搜索并安装相应的开发包。sudo yum search gmp-devel sudo yum install gmp-devel -y
-
权限问题
如果遇到权限错误,确保使用sudo执行安装命令,或检查当前用户是否具有写入目标目录的权限。 -
PATH环境变量未更新
如果安装后无法找到gfortran命令,可能需要重新加载环境变量或重启终端,也可以手动添加以下内容到~/.bashrc或~/.bash_profile:export PATH=/usr/local/bin:$PATH
相关问答FAQs
Q1: 如何卸载已安装的gfortran?
A1: 使用yum或dnf卸载即可。
sudo yum remove gcc-gfortran -y
如果是从源码编译安装的,可能需要手动删除安装目录(如/usr/local下的相关文件)。
Q2: 如何验证gfortran是否正确安装并支持Fortran 90?
A2: 可以编写一个简单的Fortran 90测试程序(如test.f90如下:
program hello
implicit none
integer :: i
i = 42
print *, 'Hello, Fortran 90! i =', i
end program hello
使用以下命令编译并运行:
gfortran -o test test.f90 ./test
如果输出正确,则说明gfortran安装成功且支持Fortran 90。