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

Fedora 31系统中如何安装gfortran 10版本

Fedora 31系统安装gfortran 10的可行方案

报错根因梳理

  • 执行sudo dnf install gcc-gfortran最终安装得到gfortran 9版本:Fedora 31官方软件源默认搭载的就是gcc 9.x全套工具链,同包名gcc-gfortran下没有提供10版本的构建产物,自然会安装源内默认的9.x版本
  • 图形界面安装Fedora 33版rpm包提示不支持:图形化包管理器会自动校验系统版本、依赖匹配度,Fedora 33的安装包依赖的系统库版本比Fedora 31的现有版本更高,校验不通过就会直接拦截安装流程
  • 终端执行rpm文件报cannot execute binary file: Exec format error:rpm本质是软件归档格式,不是可执行二进制程序,直接给文件加执行权限运行,系统自然会识别为格式不匹配,这本身就是错误的rpm安装操作

可落地的安装方法

方法1:安装系统源内置的多版本拆分编译器包

  • Fedora为满足多版本编译器共存的需求,会将不同大版本的gcc套件拆分为独立命名的包,不会和系统默认gcc版本产生文件冲突
  • 先通过dnf搜索当前系统源内的gcc相关包,确认是否存在gcc10-gfortran这类独立包
  • 如果搜索到对应包,直接执行sudo dnf install gcc10-gfortran即可完成安装,安装完成后可通过gfortran-10 --version校验版本,后续可根据项目需求灵活选择调用gfortran 9或者gfortran 10,不会互相干扰

方法2:匹配对应系统版本的rpm包手动安装

  • 必须下载与Fedora 31版本完全匹配的gfortran 10安装包,也就是文件名带fc31标识的包,禁止跨大版本选用Fedora 33及以上版本的软件包,避免出现ABI不兼容的问题
  • 下载完成后不要直接执行包文件,通过dnf命令安装,让系统自动处理依赖匹配,对应执行命令:
    sudo dnf install /你的下载路径/gcc-gfortran-10*.fc31.x86_64.rpm
  • 该方式会自动校验系统架构、依赖版本,缺失的依赖会自动从系统源拉取补全,不会出现此前的格式错误

方法3:源码编译兜底安装(无适配安装包时使用)

  • 当系统源内找不到匹配的gfortran 10包时,可通过gcc 10源码编译的方式安装,全程不会影响系统原有编译器组件
  • 先安装基础编译依赖:sudo dnf install make gcc gcc-c++ zlib-devel
  • 解压gcc 10源码包后,执行配置命令,单独指定安装路径避免覆盖系统文件:
    ./configure --prefix=/opt/gcc10 --enable-languages=fortran
  • 配置完成后执行make && sudo make install完成编译安装(耗时根据机器性能约20-40分钟)
  • 安装完成后将/opt/gcc10/bin路径加入用户环境变量的优先搜索路径,即可正常调用gfortran 10;后续如果不需要这个版本,直接删除/opt/gcc10目录就能完全卸载,不会留下系统残留

注意事项

  • 跨Fedora大版本安装第三方rpm包是高风险操作,不同版本的底层glibc、编译器库ABI存在差异,就算强行跳过依赖校验安装,也大概率会出现运行时崩溃、库文件缺失的问题
  • 安装rpm包需通过包管理器命令执行,不要将rpm包作为可执行文件直接运行,这是不符合RPM包管理规范的操作
  • Fedora 31已停止官方维护,若系统内搜索不到对应软件包,可先将软件源指向版本归档仓库后再重新检索安装

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 19:54:03