You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Scientific Linux 7上更新GFortran?更新gcc后GFortran未同步

解决Scientific Linux 7下GFortran与GCC版本不同步的问题

我来帮你搞定这个问题——在Scientific Linux 7上,我们可以通过**Software Collections (SCL)**来安装与GCC同步的新版GFortran,而且这种方式不会替换系统默认的编译器套件,完美满足你"仅针对此应用使用"的需求。以下是具体步骤:

1. 先确认当前版本差异

先执行下面的命令,明确当前GCC和GFortran的版本差异:

gcc --version
gfortran --version

2. 启用Software Collections仓库

Scientific Linux 7兼容CentOS的SCL仓库,我们先安装必要的支持包:

sudo yum install scl-utils centos-release-scl

3. 安装同步版本的GCC/GFortran套件

SCL提供了多个版本的devtoolset(包含同步版本的GCC、GFortran等编译工具),你可以根据需求选择版本(比如devtoolset-11对应GCC 11,devtoolset-9对应GCC 9)。以安装devtoolset-11为例:

sudo yum install devtoolset-11-gcc-gfortran

这个包会自动安装同版本的GCC和GFortran,保证两者版本完全同步。

4. 临时启用新版编译工具(仅针对当前会话)

安装完成后,不需要替换系统默认的编译器,只需要在编译你的应用前,执行下面的命令启用新版套件:

scl enable devtoolset-11 bash

此时在这个终端会话里,gcc和gfortran都会变成你安装的新版本,你可以再次执行版本检查命令确认。接下来就可以正常编译你的应用了,其他终端会话不受影响。

5. (可选)在编译脚本中自动启用

如果你的应用有编译脚本,可以在脚本开头加入下面的命令,每次运行脚本时自动启用新版工具:

source scl_source enable devtoolset-11

为什么系统默认的GFortran没同步更新?

Scientific Linux 7的默认软件仓库里,GCC/GFortran的版本停留在较旧的4.8.5,yum默认更新不会提升大版本。如果你之前更新GCC是通过第三方仓库,很可能只更新了GCC主包而遗漏了GFortran;而devtoolset作为官方提供的编译器套件,会保证GCC和GFortran版本完全一致,同时隔离于系统默认工具,不会破坏系统稳定性。

内容的提问来源于stack exchange,提问作者lori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:47:35