Ubuntu系统是自带GCC安装指令的apt install gcc,当前apt源中gcc版本为5.4.0,版本太低,推荐手动安装gcc8.3.0

手动安装gcc8.3.0之前需要先确保安装gcc环境依赖GMP 4.2+ 、 MPFR 2.3.1+ 、 MPC 0.8.0+,否则会报出以下错误

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.

安装GMP 6.1.2

#下载GMP安装包
wget http://mirror.hust.edu.cn/gnu/gmp/gmp-6.1.2.tar.xz
#解压GMP安装包
tar -Jxf gmp-6.1.2.tar.xz
#创建GMP安装路径
mkdir -p /usr/local/gmp-6.1.2
#配置安装文件
cd gmp-6.1.2
./configure --prefix=/usr/local/gmp-6.1.2
#编译源码
make
#安装
make install

安装MPFR4.0.2

#下载MPFR 安装包
wget http://mirror.hust.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.xz
#解压MPFR安装包
tar -Jxf mpfr-4.0.2.tar.xz
#创建MPFR安装路径
mkdir -p /usr/local/mpfr-4.0.2
#配置安装文件
cd mpfr-4.0.2
./configure --prefix=/usr/local/mpfr-4.0.2 --with-gmp=/usr/local/gmp-6.1.2
#编译源码
make
#安装
make install

安装MPC1.1.0

#下载MPC 安装包
wget http://mirror.hust.edu.cn/gnu/mpc/mpc-1.1.0.tar.gz
#解压MPC安装包
tar -zxf mpc-1.1.0.tar.gz
#创建MPC安装路径
mkdir -p /usr/local/mpc-1.1.0
#配置安装文件
cd mpc-1.1.0
./configure --prefix=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2
#编译源码
make
#安装
make install

上述全部安装完成后,安装GCC8.3.0

#下载gcc安装包
wget mirror.hust.edu.cn/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz
#解压gcc安装包
tar -zxf gcc-8.3.0.tar.gz
#创建gcc安装路径
mkdir -p /usr/local/gcc-8.3.0
#配置安装文件
cd gcc-8.3.0
#后面的--with-gmp, --with-mpfr and/or --with-mpc选项一定要是相应安装的路径,否则会报出和上边同样的错误
./configure --prefix=/usr/local/gcc-8.3.0 --disable-multilib --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2 --with-mpc=/usr/local/mpc-1.1.0
#编译
make
#make完成后,make install
make install
ln -s /usr/local/gcc-8.3.0 /usr/local/gcc
# 配置环境变量
export PATH=/usr/local/gcc/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc/lib64:/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr/local/mpc/lib:$LD_LIBRARY_PATH
export MANPATH=/usr/local/gcc/share/man:$MANPATH
# 查看gcc版本,判断gcc是否安装成功
gcc --version

如果在安装gcc的make过程中报错“error: C++ preprocessor "/lib/cpp" fails sanity check”,是因为缺少C++必要的库,执行安装apt-get install build-essential。然后make clean后再make即可。

make 过程需要3个小时左右,make install过程需要一个小时左右,安心等待即可

在Ubuntu系统上手动安装GCC环境的更多相关文章

  1. 十分钟内在Ubuntu系统上搭建Mono开发环境(Mono软件Ubuntu系统国内镜像源、Mono国内镜像源)

    Mono软件Ubuntu系统国内镜像源.Mono国内镜像源 http://download.githall.cn/repo 替换为国内源(非官方)有利于加快mono的安装速度,一般情况下,完成mono ...

  2. ubuntu系统下手动安装autoconf安装包

    首先简单介绍一下autoconf.Autoconf是一个可以适应多种unix类系统的shell脚本的工具. 我在往虚拟机中安装应用时,需要用到该工具,于是想下载一个.但是由于系统内核版本低,已不能用a ...

  3. ubuntu系统下怎么安装gcc编译器

    你安装一个名字叫做build-essential的软件包,就可以一次将编译器.make工具.所有的编程头文件.函数库等东东全部安装上,其中也包括gcc编译器,这是非常稳妥的安装方式,安装命令是用roo ...

  4. 解决django项目在ubuntu系统上无法安装mysqlclient

    首先我的项目是django2.0,python环境是3.5. 我们在本地开发完django项目了,在本地运行是成功的,然后我们把django项目放到服务器上,运行的时候就出错了. 如图: 我们都知道, ...

  5. mongodb 在 Ubuntu系统上的安装及卸载

    mongodb官网 The mongodb-org-server package provides an initialization script that starts mongod with t ...

  6. 在64位Ubuntu系统上安装32位程序包

    在64位Ubuntu系统上安装32位的程序包 $sudo apt-get install package_name:i386 例如: $sudo apt-get install openjdk-7-j ...

  7. Nginx: ubuntu系统上如何判断是否安装了Nginx?

    问题描述:ubuntu系统上,如何查看是否安装了Nginx? 解决方法:输入命令行:ps -ef | grep nginx master process后面就是Nginx的安装目录. 延伸:1. 如何 ...

  8. 最新版 Harbor 在ubuntu系统上安装

    最新版 Harbor 在ubuntu系统上安装 The latest version of Harbor is installed on the ubuntu system 安装docker Inst ...

  9. 在ubuntu机器上部署php测试环境

    在ubuntu机器上部署php测试环境 一.部署环境 Ubuntu11.10_X86_32,编译安装相应的软件:nginx+mysql+php. 二.软件安装 2.1 软件下载 libiconv-1. ...

  10. 在Ubuntu系统上搭建Hadoop 2.x(2.6.2)

    官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网 ...

随机推荐

  1. perf时 出现[kernel.kallsyms] 符号怎么办

    在 perf 工具生成的火焰图中看到 [kernel.kallsyms],通常意味着火焰图中包含内核符号,但这些符号没有被正确解析.这可能是由于以下几个原因导致的: 内核符号表不可用或不完整:perf ...

  2. 2022年最新数据库经典面试题及答案汇总(含PostgreSQL、Oracle、MySQL)

    随着企业数字化需求的增加,数据库行业发展日益壮大,企业对DBA岗位的需求也处于逐步增加中.我们梳理了墨天轮平台上2022年最新的一批数据库经典面试题,主要包含PostgreSQL.MySQL和Orac ...

  3. kotlin协程——>异步流

    异步流 挂起函数可以异步的返回单个值,但是该如何异步返回多个计算好的值呢?这正是 Kotlin 流(Flow)的 ⽤武之地. 表示多个值 在 Kotlin 中可以使⽤集合来表⽰多个值.⽐如说,我们可以 ...

  4. 这十年我与广告不共戴天练就的十八般武艺 #PC去广告 #手机去广告

    背景 大家应该都体会过广告的苦恼,比如看着好看的电视,突然给播放广告,这时候痛苦系数飙升.随着社会进步,广告的载体,还有形式也越来越多,比如手机端各种APP启动广告,PC端软件弹窗,网站Banner等 ...

  5. KubeSphere Namespace 数据删除事故分析与解决全记录

    作者:宇轩辞白,运维研发工程师,目前专注于云原生.Kubernetes.容器.Linux.运维自动化等领域. 前言 2023 年 7 月 23 日在项目上线前夕,K8s 生产环境出现故障,经过紧急修复 ...

  6. KubeSphere 社区双周报 | OpenFunction 发布 v1.1.0 | 2023.5.26-6.8

    KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...

  7. count(*)、count(1)哪个更快?面试必问:通宵整理的十道经典MySQL必问面试题

    一.你是如何理解Count(*)和Count(1)的? 这两个并没有区别,不要觉得 count() 会查出全部字段,而 count(1) 不会.所以 count() 会更慢,你觉得 MySQL 作者会 ...

  8. C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  9. 大疆消费级无人机调参软件 Assistant 2 与模拟器

    0 大疆消费级无人机调参 Assistant 2 无人机调参软件常用来为无人机的某些参数做校准.大疆的无人机调参软件分为行业级版和消费级版. 行业级版本基本为每个适配机型都添加了与之对应的模拟器功能. ...

  10. ESP8266+ MQTT+SG90(舵机) platformio

    ESP8266 + MQTT + SG90(舵机) platformio 连线 ESP8266 MG90S(舵机) GND 棕色 VCC 红色 模拟引脚 橙色 源代码 https://gitee.co ...