Ubuntu20以上高版本如何安装低版本GCC

news2024/10/6 16:24:44

安装了Ubuntu 20.04之后,通过命令行

sudo apt-get install build-essential

安装gcc,再通过命令行

gcc -v

可查看gcc版本为gcc13
如果想用低版本的gcc,比如gcc4.8,尝试输入命令

sudo apt-get install gcc-4.8

会提示找不到gcc4.8的安装包
那么就需要添加较低版本的源
网上搜索得到gcc4.8对应的Ubuntu版本为16,接下来就对Ubuntu20.04的源文件source.list进行编辑,增加Ubuntu16的源
通过命令用gedit编辑器(也选择其他编辑器,如vim,mousepad等)打开source.list文件,

sudo vim /ect/apt/source.list

在文件尾部增加Ubuntu16的源,我使用的是阿里云的源:

deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main

deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

保存文件后,输入命令,更新源

sudo apt-get update

可能会出现如下错误:

错误:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
错误:2 http://mirrors.aliyun.com/ubuntu bionic-security InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
错误:3 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
错误:4 http://mirrors.aliyun.com/ubuntu bionic-proposed InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
错误:5 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
正在读取软件包列表... 完成
W: GPG 错误:http://mirrors.aliyun.com/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
E: 仓库 “http://mirrors.aliyun.com/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
W: GPG 错误:http://mirrors.aliyun.com/ubuntu bionic-security InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
E: 仓库 “http://mirrors.aliyun.com/ubuntu bionic-security InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
W: GPG 错误:http://mirrors.aliyun.com/ubuntu bionic-updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32

然后执行,没有错误不执行下边语句:

#获取第一个公钥(两者获取一个就可以)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
#获取第二个公钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

然后输入命令,查看gcc4.8可选的版本

apt-cache policy gcc-4.8

选择其中一个版本进行安装

sudo apt-get install gcc-4=4.8.0-6ubuntu1~16.04.12

g++4.8的安装是类似的步骤
然后查看gcc版本

gcc -v

发现版本还是gcc13
通过命令查询本机gcc已安装的版本

ls /usr/bin/gcc*

在这里插入图片描述

可以看到有gcc13和gcc4.8
这个时候需要管理多版本的gcc,使我们想要的gcc5成为默认版本
输入命令

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50
sudo update-alternatives --config gcc

在这里插入图片描述

根据提示,选择gcc-4.8对应的编号1 回车即可
最后gcc -v查看默认gcc版本,应当已经切换为gcc5
如果要对g++的多版本进行管理,只需将上面命令行中的gcc替换为g++

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

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

相关文章

胡歌深夜发文:我对不起好多人

胡歌的微博又上了热搜。 8月29日01:18分,胡歌微博发文称:“我尽量保持冷静,我对不起好多人,我希望对得起这短暂的一生”,并配了一张自己胡子拉碴的图,右眼的伤疤清晰可见。 不少网友留言称“哥你又喝多了吗…

基于Java+SpringBoot+Vue前后端分离教师工作量管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

希尔排序(JAVA实例代码)

目录 希尔排序 一、概念及其介绍 二、适用说明 三、过程图示 四、Java 实例代码 ShellSort.java 文件代码: 希尔排序 一、概念及其介绍 希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。 希尔排序又称缩小增量排序&#…

【2023年11月第四版教材】《第9章-范围管理》(第二部分)

《第9章-范围管理》(第二部分) 4 规划范围管理4.1 范围管理计划★★★ (21下29)4.2 需求管理计划★★★ (22上27) 5 收集需求5.1 数据收集★★★5.2 决策★★★5.3 数据表现★★★5.4 人际关系与团队技能★…

【pyqt5界面化开发-6】抽屉布局界面的开发

目录 0x01 前言: 一、封装的主窗口类 第一步:封装窗口类 第二步:添加抽屉界面 第三步:添加抽屉界面的相关布局 第四步:每一个抽屉界面的点击触发 二、封装的抽屉类 三、程序入口程序 四、完整代码 0x01 前言&…

Windows端口占用处理

端口被占用时,大部分是后台服务持续运行使用了某个端口。这样会导致我们使用了相同端口的新程序无法正常启动,我们需要找到端口被占用的应用程序,方法比较简单,如下以3000端口被占用为例: 1、打开windows的cmd命令行窗…

数据结构与算法基础-学习-30-插入排序之直接插入排序、二分插入排序、希尔排序

一、排序概念 将一组杂乱无章的数据按一定规律顺次排列起来。 将无序序列排成一个有序序列(由小到大或由大到小)的运算。 二、排序方法分类 1、按数据存储介质 名称描述内部排序数据量不大、数据在内存,无需内外交换存交换存储。外部排序…

LNMT的多机部署和双机热备

目录 一、环境 二、配置tomcat 三、配置nfs共享 四、配置nginx 1、两台都需要折磨配置 2、在http下面插入这两条信息 五、配置keepalived 1、安装 2、重新启动一下keepalived查看IP 六、验证双机热备 1、查看调度器备的IP,ip漂移说明keepalived生效 2、访…

Python切换输入法的实战代码

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

MySQL一行记录是如何存储的?

目录 MySQL的数据存放在哪个文件? 表空间文件的结构是怎么样的? 1、行(row) 2、页(page) 3、区(extent) 4、段(segment) InnoDB 行格式有哪些&#xf…

简述SpringMVC

一、典型的Servlet JSP JavaBean UserServlet看作业务逻辑处理(Controller)User看作模型(Model)user.jsp看作渲染(View) 二、高级MVC 由DispatcherServlet对请求统一处理 三、SpringMVC MVC与Spr…

雪花算法实现原理和精度失效问题

一、雪花算法的实现原理 雪花算法是一个全局唯一算法,它主要出现在像分库分表场景中作为业务主键、 或者作为一些像订单号这类的 id 生成器。 所以单纯就全局唯一性质来说,有很多的实现方式,比如 UUID , Redis 的原子递增 &#…

春秋云镜 CVE-2018-3191

春秋云镜 CVE-2018-3191 Weblogic WLS Core Components 反序列化命令执行漏洞 靶标介绍 Oracle Fusion Middleware 的 Oracle WebLogic Server 组件中的漏洞(子组件:WLS Core Components)。受影响的受支持版本包括 10.3.6.0、12.1.3.0 和 1…

基于Java+SpringBoot+Vue前后端分离工作流程管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

QT6为工程添加资源文件,并在ui界面引用

以添加图片资源为例 右键工程名字(不是最上面的名字),点击添加现有文件 这种方式虽然添加到了工程中,但不能在UI设计界面完成引用。主要原因可能是未把文件放入到项目资源文件中,以下面一种方式可以看出区别。 点击添…

clickhouse 系列2:clickhouse 离线安装

1.下载rpm包 Altinity/clickhouse - Packages packagecloud 使用wget下载到本地目录 wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-common-static-20.8.3.18-1.el7.x86_64.rpm/download.rpm wget

博流RISC-V芯片JTAG debug配置与运行

文章目录 1、Windows下安装与配置2、Linux下安装与配置3、芯片默认 JTAG PIN 列表4、命令行运行JTAG5、Eclipse下使用JTAG 1、Windows下安装与配置 CKLink 驱动安装 Windows版驱动下载地址: https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1666331…

基于Java+SpringBoot+Vue前后端分离中国陕西民俗网设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Day49|leetcode 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

leetcode 121. 买卖股票的最佳时机 题目链接:121. 买卖股票的最佳时机 - 力扣(LeetCode) 视频链接:动态规划之 LeetCode:121.买卖股票的最佳时机1_哔哩哔哩_bilibili 题目概述 给定一个数组 ,它的第 个元…

视频剪辑音效处理软件有哪些?视频剪辑软件那个好用

音效是视频剪辑的重要部分,能起到画龙点睛的作用。在短视频平台中,一段出彩的音效能将原本平平无奇的视频变得生动有趣。那么,视频剪辑音效处理软件有哪些?本文会给大家介绍好用的音效处理软件,同时也会介绍视频剪辑音…