ubuntu源码安装gcc8.2.0

ubuntu源码安装gcc8.2.0,第1张

因为 seastar 最新版要求 gcc>8.0 版本,所以需要源码安装 gcc 8.2.0

默认是安装到 /usr/local/bin 目录下,指定目录 --prefix=/usr/local/gcc

然后输入 gcc -v ,会看到:

如果通过 源码 升级了gcc,没有升级动态库则在运行或者编译某些软件时有可能出现 /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found 的错误。

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC

如果老版本的 gcc 如5.4等,可能是没有这么多的动态库信息。

运行:`find / -name "libstdc++.so*"`

我的系统因为之前通过命令行安装过 gcc 7.1 版本,因为能查找到比较多的动态库文件,

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

sudo apt-get install build-essential

安装gcc,再通过命令行

gcc -v

可查看gcc版本为gcc9

如果想用低版本的gcc,比如gcc5,尝试输入命令

sudo apt-get install gcc-5

会提示找不到gcc5的安装包

那么就需要添加较低版本的源

网上搜索得到gcc5对应的Ubuntu版本为16,接下来就对Ubuntu20.04的源文件source.list进行编辑,增加Ubuntu16的源

通过命令用gedit编辑器(也选择其他编辑器,如vim,mousepad等)打开source.list文件,

sudo gedit /etc/apt/sources.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

然后输入命令,查看gcc5可选的版本

apt-cache policy gcc-5

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

sudo apt-get install gcc-5=5.4.0-6ubuntu1~16.04.12

g++5的安装是类似的步骤

sudo apt install g++-5

然后查看gcc版本

gcc -v

发现版本还是gcc9

通过命令查询本机gcc已安装的版本

ls /usr/bin/gcc*

可以看到有gcc9和gcc5

这个时候需要管理多版本的gcc,使我们想要的gcc5成为默认版本

输入命令

根据提示,选择gcc-5对应的编号1 回车即可

最后gcc -v查看默认gcc版本,应当已经切换为gcc5

如果要对g++的多版本进行管理,只需将上面命令行中的gcc替换为g++

链接: https://www.jianshu.com/p/e823f89787d6

您好,安装Ubuntu系统时,可以选择安装GCC和Make。GCC是GNU编译器套件,是一种用于编译C、C++、Objective-C、Fortran等编程语言的编译器。Make是一种自动化编译工具,可以根据源程序中的依赖关系,自动编译源程序。安装Ubuntu系统时,可以在安装过程中选择安装GCC和Make,也可以在安装完成后,使用apt-get或aptitude等工具安装GCC和Make。安装GCC和Make后,就可以使用它们来编译源程序,从而实现程序的编译和运行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6041689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-12
下一篇 2023-03-12

发表评论

登录后才能评论

评论列表(0条)

保存