【WRF安装编译问题解决】Linux中gcc和gfortran降级方法

news2024/11/15 9:52:12

Linux中gcc和gfortran降级方法

  • 准备:gcc和gfortran版本查找
  • 1 查看gcc和gfortran安装版本
  • 2 gcc版本降级
    • 2.1 gcc版本降级至9.5.0-通过下载源码编译安装
    • 2.2 gcc版本降级至9.1.0-通过下载源码编译安装
  • 3 gfortran版本降级
  • 参考

在安装编译WRF环境时,无法成功编译4个.exe软件。网上评论说是需要降低gcc和gfortran的版本。因此,本博客将尝试下载安装低版本gcc和gfortran。

准备:gcc和gfortran版本查找

GCC官网-GCC Releases
在这里插入图片描述

1 查看gcc和gfortran安装版本

gfortran --version
cpp --version
gcc --version

终端窗口如下:
在这里插入图片描述

2 gcc版本降级

2.1 gcc版本降级至9.5.0-通过下载源码编译安装

尝试下载,gcc 9.5.0版本。

步骤1: 查看已安装的gcc版本:
执行以下命令:

ls /usr/bin/gcc*

终端窗口如下:
在这里插入图片描述
步骤2: 根据需要下载相应版本
如果版本中没有9.5版本,则执行以下命令:

sudo apt-get install gcc-9.5

下载方式1:自行下载
华中科技大学-gnu的文件索引
在这里插入图片描述
下载方式2:代码下载

wget https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.gz

不开镜像站下载速度奇慢,如下:
在这里插入图片描述
解压缩并打开文件夹:

tar -xvf gcc-9.1.0.tar.gz
cd gcc-9.1.0

终端窗口如下:
在这里插入图片描述

步骤3: 下载依赖包

创建存放编译文件的目录
为了防止编译失败打乱源码,因此建议将编译文件与源码文件进行隔离。有时不隔离,编译时会报错,因此建议创建新的编译文件存放目录。

# 配置编译选项,--prefix=/usr表示安装在/usr目录下,可自己选择安装路径,不填写则默认为/usr/local
../configure -prefix=/usr --enable-checking=release --enable-languages=c,c++ --disable-multilib

终端窗口如下:
在这里插入图片描述

步骤4: 创建并进入build目录

# 创建 build 目录
mkdir build

# 进入 build 目录
cd build

终端窗口如下:
在这里插入图片描述

步骤5: 配置编译选项

终端窗口如下:
在这里插入图片描述

步骤6: 进行编译

# -j参数指定多少线程同时编译,根据机器进行配置
make -j 128

终端窗口如下:
在这里插入图片描述
注意:如若线程数过高,可能会自动关闭进程。

步骤7: 安装

make install

步骤8: 验证并查看

# 验证  查看版本,确认 gcc/g++是否已成功降级到 9.5.0 版本
gcc --version
g++ --version

2.2 gcc版本降级至9.1.0-通过下载源码编译安装

步骤1: 下载源码

  • 方式1:代码下载
mkdir gcc-9.1
cd gcc-8.1
wget https://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
  • 方式2:网站自行下载
    在这里插入图片描述

步骤2: 解压缩并进入文件夹

tar -xvf gcc-9.1.0.tar.gz
cd gcc-9.1.0

步骤3: 下载依赖包

./contrib/download_prerequisites

安装完成后会提示:
在这里插入图片描述
步骤4: 创建存放编译文件的目录

# 在gcc-9.1.0中
mkdir build && cd build

步骤5: 配置编译
–enable-languages:支持的高级语言类型和运行时库
–disable-multilib:在64位系统上,禁止生成32位代码
–prefix:指定安装路径

终端窗口如下:
在这里插入图片描述
步骤6: 编译

# -j参数指定多少线程同时编译,根据机器进行配置
make -j 128

终端窗口如下:
步骤7: 安装

make install

终端窗口如下:

3 gfortran版本降级

参考

1、CSDN博客-Linux安装指定版本gcc
2、CSDN博客-gcc特定版本的源码编译与安装(以gcc-9.1.0为例)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python报错已解决】`WebDriverException: Message: invalid session id`

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言:一、问题描述:1.1 报错示例:1.2 报错分析:1.3 解决思路&#xff…

Kubernetes精讲之环境搭建

目录 一 Kubernetes 简介及部署方法 1.1 应用部署方式演变 1.2 容器编排应用 1.3 kubernetes 简介 1.4 K8S的设计架构 1.4.1 K8S各个组件用途 1.4.2 K8S 各组件之间的调用关系 1.4.3 K8S 的 常用名词感念 1.4.4 k8s的分层架构 二 K8S集群环境搭建 2.1 k8s中容器的管…

每日一题,力扣leetcode Hot100之118.杨辉三角

解题思路就是动态规划,确定好边界值和要动态传递的值 边界值就是每一排的第一个和最后一个肯定是1 动态传递值就是除了边界值每一个都等于他的左上加右上 class Solution:def generate(self, numRows: int) -> List[List[int]]:ret list()for i in range(num…

ES之三:springboot集成ES

一.选择版本很重要,不然会找不到好多方法 明明有Timeout方法,不报红,运行时,报错,找不到该类 ClassNotFoundException 为了避免使用的Elasticsearch版本和SpringBoot采用的版本不一致导致的问题,尽量使用…

web群集--nginx常见的几种负载均衡调度算法的配置过程和效果展示

文章目录 前言环境前置配置httpd主机tomcat主机 负载均衡调度算法1.轮询配置过程效果展示 2.加权轮询配置过程效果展示 3. IP哈希(IP Hash)配置过程效果展示 4. 最少连接(Least Connections)配置过程效果展示 5.加权最小连接这个在…

实时备份工具

实时同步工具 1. 常用实时同步工具1.1 sersync1.2 inotify-tools1.3 ‌lsync‌ 2. 工具对比2.1 常用实时同步工具对比2.2 ‌sersync和lsyncd对比 3. 实践3.1 sersync1. 简易架构2. 服务器3. 搭建简易web服务器4. 配置NFS服务器5. 配置备份服务器6. 实时同步部分7. 验证 1. 常用…

穿越机的应用行业!!!

1. 军事领域 侦察与目标搜索:穿越机能够快速穿越危险区域,执行侦察任务,实时获取战场信息,对敌方目标进行精确搜索和定位。其灵活性和机动性使其成为战场上的重要侦察工具。 目标摧毁:经过改装的穿越机可挂载火箭弹或…

重磅活动!南开大学赵宏教授倾情分享AI挑战下的教育教学新理念与新方法

人工智能是科技发展的前沿领域,也是推动新质生产力形成的关键动力。当前,各个高校正积极探索人工智能对高等教育的改革,以培养适应未来社会发展需求的新型人才。 本次活动旨在传播 AI 挑战下的教育教学新理念与新方法,推动人才培养…

常见echart图表 返回数据与Java实体类

返回数据示例详见 Examples - Apache ECharts 一、折线图 实体类 public class LineChart {String name;List<BaseSeries> series;List<String> xAxis; }public class BaseSeries {String name;Double[] data; } 二、柱状图 实体类 public class Chart {String…

深度解析Linux系统的基本概念及优缺点和原理

目录 基本概念 操作系统简介 架构组成 多任务处理 安全性与开放性 发行版本 使用场景 学习资源 优点 缺点 1. 软件兼容性问题 2. 图形界面应用程序较少 3. 安装和配置复杂 4. 学习曲线陡峭 5. 缺乏技术支持 6. 硬件兼容性问题 7. 安全风险 8. 性能问题 9. 游…

数据结构代码集训day16(适合考研、自学、期末和专升本)

本题来自B站up&#xff1a;白话拆解数据结构 今日题目就一个&#xff1a;约瑟夫环问题。 一个圈共有N个人&#xff08;N为不确定的数字&#xff09;&#xff0c;第一个人的编号为0或者1&#xff08;两个都可以&#xff0c;看你的程序如何编写&#xff09;&#xff0c;假设这边我…

提升App推广效果,从精准获取下载数据开始

在App推广的过程中&#xff0c;获取准确的下载数据一直是一个令人头疼的问题。你知道吗&#xff1f;无法精确追踪用户来源和下载量&#xff0c;就像是在黑暗中摸索&#xff0c;让推广效果大打折扣。今天&#xff0c;我们就来揭秘如何轻松获取App下载数据&#xff0c;优化你的推…

解题--有关动态内存开辟 几道经典的笔试题

文章目录 前言 一、题目一 二、题目二 三、题目三 四、题目四 总结 前言 路漫漫其修远兮&#xff0c;吾将上下而求索。 一、题目一 运行Test 函数会出现什么样的结果&#xff1f; 在Test函数之中&#xff0c;首先创建了一个指针变量 str , 并将其赋值为NULL&#xff1b; …

查看HBA卡是否支持FC协议

cat /sys/class/fc_host/host*/port_name lspci | grep -i fibre # 看有无fibre channel控制器 官网查询 Emulex Lpe32000 https://docs.broadcom.com/doc/12357773 https://cn.genuinemodules.com/image/catalog/pdf/18/LPe32000.pdf

Python【2】问题

目录 模块与包是什么&#xff1f; 赋值、浅拷贝和深拷贝的区别&#xff1f; Python中如何生成随机数&#xff1f; Python中的os模块常用方法&#xff1f;□ os.path和sys.path分别表示什么意思&#xff1f;□ 赋值 read、readline和readlines的区别&#xff1f; 介绍一…

vTESTstudio系列13--vTESTstudio中的动态函数库介绍3

在上一篇文章中&#xff08;vTESTstudio系列12--vTESTstudio中的动态函数库介绍2&#xff09;&#xff0c;给大家介绍了如何通过osek_tp.dll的接口去发送诊断指令&#xff0c;本篇文章给大家介绍如何去处理诊断回复内容&#xff0c;确保实际的诊断回复是符合需求。Lets Go!!! …

Java项目: 基于SpringBoot+mysql在线文档管理系统(含源码+数据库+开题报告+答辩PPT+毕业论文)

一、项目简介 本项目是一套基于SpringBootmysql在线文档管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功…

VScode:前端开发中的常用快捷键和技巧

1.菜单栏 2.内容相关&#xff1a; 格式化文档 搜索文件名

海外盲盒APP系统开发,盲盒全球化发展机遇

盲盒全球化 近几年&#xff0c;盲盒在海外市场中迎来了爆发式增长&#xff0c;成为了一种新的潮流&#xff0c;拥有极高的人气&#xff0c;盲盒出海也已经成为了一个大风口&#xff0c;为我国盲盒市场带来了商业机遇&#xff01;在盲盒出海的热潮下&#xff0c;海外盲盒APP系统…

相亲交友系统开发中的关键要素

相亲交友系统开发旨在构建一个在线平台&#xff0c;专为单身人士设计&#xff0c;以促进他们寻找合适的伴侣或朋友。以下是该系统开发的关键要素&#xff1a; 用户账户管理&#xff1a;允许用户创建账户&#xff0c;进行注册和登录&#xff0c;以便他们能够建立个人资料并参与…