Linux 3.10 GCC版本太低升级到5.2.0

news2024/9/30 9:30:39

一、问题描述

在这里插入图片描述

某次升级内核,执行make menuconfig报当前版本太低,现场版本为4.8.5,需要升级到5.1.0版本以上,查看官网后,决定升级到5.20版本。注:GCC依赖于gmp 4.2+, mpfr 2.4+和mpc 0.8+,报错如下:

***
*** C compiler is too old.
***   Your GCC version:    4.8.5
***   Minimum GCC version: 5.1.0
***
scripts/Kconfig.include:44: Sorry, this C compiler is not supported.
make[2]: *** [menuconfig] Error 1
make[1]: *** [menuconfig] Error 2
make: *** [__sub-make] Error 2

官方说明:https://gcc.gnu.org/install/index.html;https://gcc.gnu.org/;https://ftp.gnu.org/gnu/gcc/gcc-5.2.0/

二、升级处理

#升级前资源下载
cd /usr/local/src
wget http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2  //或如下:2015-07-16
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.gz
tar -jxvf gcc-5.2.0.tar.bz2
cd gcc-5.2.0

#依赖获取及升级
#查看/contrib/download_prerequisites
#! /bin/sh
GRAPHITE_LOOP_OPT=yes

# Necessary to build GCC.
MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1

#wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1
wget https://ftp.gnu.org/gnu/mpfr/$MPFR.tar.bz2 --no-check-certificate || exit 1
tar xjf $MPFR.tar.bz2 || exit 1
ln -sf $MPFR mpfr || exit 1

#wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1
wget https://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 --no-check-certificate || exit 1
tar xjf $GMP.tar.bz2  || exit 1
ln -sf $GMP gmp || exit 1

#wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz || exit 1
wget https://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz --no-check-certificate || exit 1
tar xzf $MPC.tar.gz || exit 1
ln -sf $MPC mpc || exit 1

# Necessary to build GCC with the Graphite loop optimizations.
if [ "$GRAPHITE_LOOP_OPT" = "yes" ] ; then
  ISL=isl-0.14

  #wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$ISL.tar.bz2 || exit 1
  wget https://gcc.gnu.org/pub/gcc/infrastructure/$ISL.tar.bz2 --no-check-certificate || exit 1
  tar xjf $ISL.tar.bz2  || exit 1
  ln -sf $ISL isl || exit 1
fi
#执行如下,下载依赖包
/contrib/download_prerequisites

#编译安装

mkdir build  //创建bulid文件夹
cd build
../gcc-5.2.0/configure --prefix=/usr/local/sharelib/gcc_5.2.0 --enable-languages=c,c++ --enable-threads=posix --disable-multilib --with-system-zlib --enable-checking=release
# 编译安装,此过程耗时较长
make $(nproc --all)
make install
# 修改软连接
mv /usr/bin/gcc /usr/bin/gcc_bak
ln -s /usr/local/sharelib/gcc_5.2.0/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++_bak
ln -s /usr/local/sharelib/gcc_5.2.0/bin/g++ /usr/bin/g++
# 验证
gcc --verson
g++ --version   //输出如下
gcc (GCC) 5.2.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

cc -v   //输出如下
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/local/sharelib/gcc_5.2.0/libexec/gcc/x86_64-unknown-linux-gnu/5.2.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-5.2.0/configure --prefix=/usr/local/sharelib/gcc_5.2.0 --enable-languages=c,c++,go --enable-threads=posix --disable-multilib
Thread model: posix
gcc version 5.2.0 (GCC) 

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

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

相关文章

【机器学习】在 MLOps构建项目 ( MLOps2)

My MLOps tutorials: Tutorial 1: A Beginner-Friendly Introduction to MLOps教程 2:使用 MLOps 构建机器学习项目 一、说明 如果你希望将机器学习项目提升到一个新的水平,MLOps 是该过程的重要组成部分。在本文中,我们将以经典手写数字分类…

后端进阶之路——浅谈Spring Security用户、角色、权限和访问规则(三)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄,vue成神之路★ ★ 解决算法,一个专栏就够了★ ★ 架…

Cocos creator(2d) 使用 shader + uv 实现单张图片衔接滚动效果

在游戏中,当我们需要让背景图片无缝衔接无限滚动时(打飞机这种背景一直滚动,或者肉鸽游戏地图一直在走等等),通常的做法是 在游戏中放两个背景node,在update中控制这两张背景图片的移动,并让其收尾衔接即可。(具体代码…

2023-08-04 LeetCode每日一题(不同路径 III)

2023-08-04每日一题 一、题目编号 980. 不同路径 III二、题目链接 点击跳转到题目位置 三、题目描述 在二维网格 grid 上,有 4 种类型的方格: 1 表示起始方格。且只有一个起始方格。2 表示结束方格,且只有一个结束方格。0 表示我们可以…

自然语言处理: 第六章Transformer- 现代大模型的基石

理论基础 Transformer(来自2017年google发表的Attention Is All You Need (arxiv.org) ),接上面一篇attention之后,transformer是基于自注意力基础上引申出来的结构,其主要解决了seq2seq的两个问题: 考虑了原序列和目…

项目经理必读:领导风格对项目成功的关键影响

引言 项目经理作为一个领导者的角色,他们需要协调各方资源,管理团队,推动项目的进行。为了完成这些任务,项目经理必须具备各种领导风格的灵活性,以应对项目中的各种变数和挑战。在这篇文章中,我们将讨论领…

【洛谷】p1825 [USACO11OPEN] Corn Maze S

从快吃中饭开始看题,一直到晚上七点半终于AC了!!!!!!!!! 写篇题解记录一下这个激动人心的时刻 文章目录 题目:[USACO11OPEN] Corn Maze S题面翻…

SpringMVC请求和响应

目录 1、简介 2、数据响应方式 2.1、页面跳转 2.1.1、直接返回字符串 2.1.2、ModelAndView 2.1.3、request域 2.2、回写数据 2.2.1、直接返回字符串 2.2.2、返回对象或集合 3、获得请求数据 3.1、基本类型参数 3.2、获得POJO类型参数 3.3、获得数组类型参数 3.4、…

【嵌入式学习笔记】嵌入式入门5——窗口看门狗WWDG

1.WWDG简介 WWDG的全称:Window watchdog,即窗口看门狗WWDG的本质:能产生系统复位信号和提前唤醒中断的计数器WWDG的特性:递减的计数器,当递减计数器值从 0x40减到0x3F时复位(即T6位跳变到0)&am…

代码随想录—力扣算法题:27移除元素.Java版(示例代码与导图详解)

版本说明 当前版本号[20230804]。 版本修改说明20230804初版 目录 文章目录 版本说明目录27. 移除元素思路暴力解法双指针法两个方法的区别总结双指针法要点 27. 移除元素 力扣题目链接 更多内容可点击此处跳转到代码随想录,看原版文件 给你一个数组 nums 和一…

VBA技术资料MF39:VBA_计算单元格中的字符数

【分享成果,随喜正能量】依赖也好,不依赖也罢,人的心灵都是需要安放的,有人安放在另一个人身上,有人安放在喜欢的事业之上,有人安放在宗教信仰之上,过程不同,终点都一样,…

C/C++实现librosa音频处理库melspectrogram和mfcc

C/C实现librosa音频处理库melspectrogram和mfcc 目录 C/C实现librosa音频处理库melspectrogram和mfcc 1.项目结构 2.依赖环境 3.C librosa音频处理库实现 (1) 对齐读取音频文件 (2) 对齐melspectrogram (3) 对齐MFCC 4.Demo运行 5.librosa库C源码下载 深度学习语音处…

人工智能学习1——特征提取和距离

强人工智能和弱人工智能: 强人工智能:和人脑一样 弱人工智能:不一定和人脑思考方式一样,但是可以达到相同的效果,弱人工智能并不弱 —————————————————————————————————— 机器学习能…

嘉楠勘智k230开发板上手记录(二)

上次成功在k230上烧录sdk,这次准备实现hello world和ssh scp远程k230 一、PC连接k230 1. 初步准备 首先下载串口工具PuTTY,这个我个人感觉比较方便。 准备两根USB type-C数据线,一根连电源,一根连串口调试。还有Type C公头转网…

【C#学习笔记】内存管理

文章目录 分配内存释放内存GC标记清除算法分代算法 .NET的GC机制有这样两个问题: 官方文档 自动内存管理 自动内存管理是CLR在托管执行过程中提供的服务之一。 公共语言运行时的垃圾回收器为应用程序管理内存的分配和释放。 对开发人员而言,这就意味着…

Ubuntu 虚拟机和主机无法互相复制文字和文件

1.在虚拟机列表中,右键查看是否有安装VMware Tools,如果没有安装点击安装,如果已经安装了,上面显示重现安装VMware Tools,并且为灰色,如图: 2.如果没有安装点击安装,如果已经安装&am…

【数据结构】堆的原理实现

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️林 子       🛰️博客专栏:✈️ 数据结构与算法       🛰️社区 :✈️ 进步学堂       &am…

C语言的浮点类型:float,double,long double

文章目录 浮点型概述浮点型常量浮点型常量的后缀 溢出上溢 overflow下溢 underflow 一个特殊的浮点值:NaN初始化 浮点型概述 float 称为单精度浮点型。 double 称为双精度浮点型。 long double 称为长双精度浮点型。 C 标准规定,float 必须至少精确到…

MySQL存储过程(二十四)

你相信吗, 相信那一天的夕阳吗? 上一章简单介绍了 MySQL的索引(二十三),如果没有看过,请观看上一章 一. 存储过程 MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起, 应用程序无须关注存储过程和函数内部复杂的S…

【DBeaver】CLIENT_PLUGIN_AUTH is required

1、右键打开编辑连接弹窗,进入编辑驱动设置 2、选择“库” 3、全部删掉,然后点击“重置为默认状态” 4、选中然后点击“下载更新” 5、点击版本号,选择与mysql相同的版本 6、最后一步