温馨提示×

centos怎样升级fortran编译器

小樊
35
2026-09-21 13:24:53
栏目: 智能运维

在 CentOS 上“升级 Fortran 编译器”通常有以下几种常见方式,取决于你当前用的是 gfortran(GCC 的一部分) 还是 Intel Fortran(ifort)。下面以最常见的情况:升级 gfortran 为主说明。


一、查看当前 Fortran 编译器版本

gfortran --version

which gfortran

二、通过系统仓库升级(最简单,但版本可能较旧)

CentOS 7

sudo yum update gcc gcc-gfortran

⚠️ CentOS 7 默认仓库的 gfortran 通常较老(如 4.8.5),不支持新 Fortran 标准。

CentOS 8 / Stream

sudo dnf update gcc gcc-gfortran

三、使用 Software Collections(SCL)升级(推荐 CentOS 7)

CentOS 7 可通过 SCL 安装新版 GCC(含 gfortran):

sudo yum install centos-release-scl
sudo yum install devtoolset-11-gcc-gfortran

启用:

scl enable devtoolset-11 bash
gfortran --version

永久生效(加入环境变量):

echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc

可用版本示例:

  • devtoolset-7 / 8 / 9 / 10 / 11

四、源码编译安装新版本 GCC(最灵活)

适合需要最新 Fortran 标准(如 Fortran 2018)。

1. 安装依赖

sudo yum groupinstall "Development Tools"
sudo yum install gmp-devel mpfr-devel libmpc-devel

2. 下载 GCC 源码

wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
tar xf gcc-13.2.0.tar.gz
cd gcc-13.2.0

3. 编译

./configure --enable-languages=fortran --disable-multilib
make -j$(nproc)
sudo make install

⚠️ 编译时间较长(几十分钟到几小时)


五、使用 Intel Fortran 编译器(ifort / ifx)

若你用的是商业/科研环境:

# 以 Intel oneAPI 为例
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/.../l_fortran-compiler... .sh
sudo bash l_fortran-compiler*.sh

启用:

source /opt/intel/oneapi/setvars.sh
ifort --version

六、常见问题

1. 多个 gfortran 版本冲突

which gfortran
ls /usr/bin/gfortran*

可用 update-alternatives 管理。

2. 编译时找不到库

确保:

sudo yum install gcc-gfortran

七、推荐方案总结

场景 推荐方式
CentOS 7 普通用户 devtoolset-11
需要最新 Fortran 源码编译 GCC
科研/高性能计算 Intel oneAPI
不想折腾 dnf/yum 升级

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 当前 gfortran 版本
  • 是否需要 Fortran 2003/2008/2018

我可以给你更精确的升级命令

0