Ubuntu18.04安装GCC8.3.0

Ubuntu18.04安装GCC8.3.0转自:https://blog.csdn.net/bjzhaoxiao/article/details/102525241Ubuntu系统是自带GCC安装指令的aptinstallgcc,当前apt源中gcc版本为5.4.0,版本太低,推荐手动安装gcc8.3.0手动安装gcc8.3.0之前需要先确保安装gcc环境依赖GMP4.2+、MPFR2.3.1+、MPC0.8.0+,否则会报出以下错误configure:error:BuildingGCCrequiresGMP4.

大家好,又见面了,我是你们的朋友全栈君。

转自:https://blog.csdn.net/bjzhaoxiao/article/details/102525241

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.

1、安装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

2、安装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

3、安装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

配置环境变量

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

#编译

make

#make完成后,make install

make install

查看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过程需要一个小时左右,安心等待即可。

若失败,先卸载gcc,

sudo apt-get remove gcc

然后装上ubuntu自带的gcc,我的是18.04版本,自带的是gcc7.5

apt-get install build-essential

装上以后,查看gcc版本,然后重新make。

链接失效,用以下
https://gcc.gnu.org/pub/gcc/infrastructure/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163819.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tcp为什么是三次握手不是两次握手_tcp四次挥手

    tcp为什么是三次握手不是两次握手_tcp四次挥手一、为什么握手是三次,而不是两次或者四次?答:两次不安全,四次没必要。tcp通信需要确保双方都具有数据收发的能力,因此双方都要发送SYN确保对方具有通信的能力二、为什么挥手是四次而不是三次?答:发送FIN包只能表示对方不再发送数据了,不代表对方不再接收数据,因此被动关闭方进行ACK回复之后有可能还会继续发送数据,等到不再发送数据了才会发送下一个FIN包,因此FIN包和ACK包是分开的…

    2022年10月3日
    4
  • 一份简短又全面的数学建模技能图谱:常用模型&算法总结

    本文总结了常用的数学模型方法和它们的主要用途,主要包括数学和统计上的建模方法,关于在数学建模中也挺常用的机器学习算法暂时不作补充,以后有时间就补。至于究竟哪个模型更好,需要用数据来验证,还有求解方法也不唯一,比如指派问题,你可以用线性规划OR动态规划OR整数规划OR图与网络方法来解。总的来说,常用主成分分析来降维,综合评价的方法有因子分析法、层次分析法、….,用蒙特卡罗方法来随机模拟求解;…

    2022年4月7日
    83
  • 如何从从官网下载各个版本的jquery「建议收藏」

    如何从从官网下载各个版本的jquery「建议收藏」许多前端的小伙伴们可能跟我一样有选择强迫症,对于一些工具、软件等都偏爱从官网下载,尽管许多非官方网站上已经有现成的,但还是从心理上感觉官网的更正规。如今的jquery版本已经是相当多了。在jquery官网的首页上只提供了为数不多的较为流行的版本供我们下载。但是出于各种情况的考虑,我们想要自己需要的某一版本该如何从官网获取呢?步骤也是相当简单,jquery官网虽然为了页面的简洁性并未在Downl…

    2022年5月25日
    37
  • 孙鑫Java视频教程下载

    孙鑫Java视频教程下载刚刚学习Java。还没有入门。 孙鑫老师的这套教程还没有看完。把下载地址发上来,有兴趣的可以下来看看。 一共12集,每集大约2个半小时。讲得很详细,适合入门。 请用迅雷下载。 thunder://QUFodHRwOi8vdmlwLmlib29rOC5jb20vdmlkZW8vy+/2zkpBVkHO3sTRysIxMkNELzAxLnJhclpa|http://ww

    2022年5月13日
    43
  • Java 中使用 Jersey 实现上传文件(附加密和解密)

    Java 中使用 Jersey 实现上传文件(附加密和解密)Jersey简介Jersey是开源的RESTful框架,实现了JAX-RS规范,提供了更多的特性和工具,可以进一步地简化RESTfulservice和client开发,与S

    2022年7月4日
    22
  • node 的运行命令

    node 的运行命令node 的运行命令

    2022年4月23日
    362

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号