如何升级gcc
https://blog.csdn.net/zhaomax/article/details/87807711
1、环境:arm架构的centos6.5系统服务器
2、查看当前的gcc版本:gcc -v
[root@aarch64vm-centos74-011 ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-redhat-linux/4.8.5/lto-wrapper
Target: aarch64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-aarch64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-aarch64-redhat-linux/cloog-install --enable-gnu-indirect-function --build=aarch64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
3、下载gcc 7.4.0的源码:https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz
4、将源码上传至服务器然后解压
[root@aarch64vm-centos74-010 ~]# mkdir -p /usr/local/gcc
[root@aarch64vm-centos74-010 ~]# ls /usr/local/
bin boost cmake doc etc games gcc include lib lib64 libexec man maven mysql sbin share src tomcat
[root@aarch64vm-centos74-010 ~]# ls
anaconda-ks.cfg boost_1_59_0.tar.gz jdk1.8.0_161 mysql-5.7.19.tar.gz spark-1.6.1-bin-without-hadoop.tgz
apache-maven-3.3.9-bin.tar.gz cmake-2.8.5.tar.gz jdk-8u161-linux-arm64-vfp-hflt.tar.gz scala-2.11.7.tgz spark-2.1.0-bin-hadoop2.7.tgz
apache-tomcat-8.0.53.tar.gz gcc-7.4.0.tar.gz mysql-5.7.19 scala-2.12.6.tgz
[root@aarch64vm-centos74-010 ~]# tar -xvf gcc-7.3.0.tar.gz -C /usr/local/gcc/
5、解压完成后,编译安装gcc源码
(1)进入gcc 7.3.0目录,运行 download_prerequisites 脚本 。
[root@aarch64vm-centos74-010 ~]# cd /usr/local/gcc/
[root@aarch64vm-centos74-010 gcc]# ls
gcc-7.3.0
[root@aarch64vm-centos74-010 gcc]# cd gcc-7.4.0/
[root@aarch64vm-centos74-010 gcc-7.4.0]# ls
ABOUT-NLS config-ml.in COPYING3 gnattools libada libffi libitm libstdc++-v3 lto-plugin Makefile.in NEWS
ChangeLog config.rpath COPYING3.LIB gotools libatomic libgcc libmpx libtool-ldflags ltoptions.m4 Makefile.tpl README
ChangeLog.jit config.sub COPYING.LIB include libbacktrace libgfortran libobjc libtool.m4 ltsugar.m4 MD5SUMS symlink-tree
ChangeLog.tree-ssa configure COPYING.RUNTIME INSTALL libcc1 libgo liboffloadmic libvtv ltversion.m4 missing ylwrap
compile configure.ac depcomp install-sh libcilkrts libgomp libquadmath ltgcc.m4 MAINTAINERS mkdep zlib
config contrib fixincludes intl libcpp libhsail-rt libsanitizer ltmain.sh maintainer-scripts mkinstalldirs
config.guess COPYING gcc LAST_UPDATED libdecnumber libiberty libssp lt~obsolete.m4 Makefile.def move-if-change
[root@aarch64vm-centos74-010 gcc-7.4.0]# ./contrib/download_prerequisites
2018-07-18 16:06:03 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840] -> "./gmp-6.1.0.tar.bz2" [1]
2018-07-18 16:08:29 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 [1279284] -> "./mpfr-3.1.4.tar.bz2" [1]
2018-07-18 16:09:25 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925] -> "./mpc-1.0.3.tar.gz" [1]
2018-07-18 16:12:42 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2 [1626446] -> "./isl-0.16.1.tar.bz2" [1]
gmp-6.1.0.tar.bz2: OK
mpfr-3.1.4.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.16.1.tar.bz2: OK
All prerequisites downloaded successfully.
[root@aarch64vm-centos74-010 gcc-7.4.0]#
(2)建立编译输出目录,将所有的中间文件都放到该目录中。
这里建目录的时候,在当前gcc解压目录下建,否则这里所有命令行的路径都要修改。
获取这四个包时,可能有错误,无法识别这个包的状态啥的,没事,删了再来一遍就行了。
[root@aarch64vm-centos74-010 gcc-7.4.0]# mkdir gcc-build-7.3.0
[root@aarch64vm-centos74-010 gcc-7.4.0]# cd gcc-build-7.3.0/
[root@aarch64vm-centos74-010 gcc-build-7.4.0]# cp ../gmp-6.1.0.tar.bz2 ./
[root@aarch64vm-centos74-010 gcc-build-7.4.0]# cp ../mpfr-3.1.4.tar.bz2 ./
[root@aarch64vm-centos74-010 gcc-build-7.4.0]# cp ../mpc-1.0.3.tar.gz ./
[root@aarch64vm-centos74-010 gcc-build-7.4.0]# cp ../isl-0.16.1.tar.bz2 ./
[root@aarch64vm-centos74-010 gcc-build-7.4.0]# ls
gmp-6.1.0.tar.bz2 isl-0.16.1.tar.bz2 mpc-1.0.3.tar.gz mpfr-3.1.4.tar.bz2
[root@aarch64vm-centos74-010 gcc-build-7.4.0]#
(3)配置 :
在当前目录执行,这个目录下 gcc-build-7.3.0
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
参数解释:
--enable-checking=release //增加一些检查,也可以–disable-checking生成的编译器在编译过程中不做检查;
--enable-languages=c,c++ //让gcc支持的编程语言 ;
--disable-multilib //取消多目标库编译(取消32位库编译)。
(4)make编译
当前目录执行:make -j4
(编译时间较长,耐心等待!!!!!!!)
(5)卸载旧版本的gcc,安装gcc7.3.0
rpm -q gcc
rpm -q gcc-c++
根据执行输出的包名执行
rpm -e [包名]
[root@localhost ~]# rpm -q gcc
gcc-4.8.5-28.el7_5.1.aarch64
[root@localhost ~]# rpm -q gcc-c++
gcc-c++-4.8.5-28.el7_5.1.aarch64
[root@localhost ~]# rpm -e gcc-c++-4.8.5-28.el7_5.1.aarch64
[root@localhost ~]# rpm -e gcc-4.8.5-28.el7_5.1.aarch64
进入make的gcc目录进行安装:make install -j8
(6)验证
[root@localhost ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/aarch64-unknown-linux-gnu/7.4.0/lto-wrapper
Target: aarch64-unknown-linux-gnu
Configured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 7.4.0 (GCC)
[root@localhost ~]# g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/aarch64-unknown-linux-gnu/7.4.0/lto-wrapper
Target: aarch64-unknown-linux-gnu
Configured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 7.4.0 (GCC)
[root@localhost ~]# which gcc
/usr/local/bin/gcc
[root@localhost ~]#
安装成功!!!
编译遇到问题遇到问题:
解决办法:
https://www.cnblogs.com/godfather007/p/10444270.html
算了,还是别升级了,还是升级centos吧,太难搞了
如何升级gcc的更多相关文章
- CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update.... yum install 或者 添加y ...
- Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9、gcc-5 版本
如果没记错的话,阿里云ECS上的Ubuntu也是LTS版本. 如果还在使用较旧版本的Ubuntu,或者是Ubuntu LTS,那么我们是很难体验新版gcc的.怎么办呢? 我们或许可以自己去编译用旧版本 ...
- Mac中使用port升级gcc版本
Mac OS中的gcc版本可能不会满足实际使用要求,需要对其升级. 这里介绍使用port方式来升级gcc版本.Macports是Mac OS中的软件包管理工具. 首先,安装Macports 这里提供O ...
- Ubuntu 14.04 升级gcc 4.8到gcc 5.x
简介 有些软件比较新,需要更高的gcc版本,所以需要升级gcc.编译安装比较耗时,所以直接选择bin包就好. 步骤 添加源 sudo add-apt-repository ppa:ubuntu-too ...
- Centos7升级gcc学习笔记
概述 最近在学习<深入应用C++11-代码与优化与工程级应用>,我的gcc版本是gcc-4.8.5是支持C++11的,但是我在作者的github上看了一些C++例子,其中有些是C++14的 ...
- redhat下升级gcc编译器
在有网络的环境下,采用下载gcc源码进行编译的方式升级gcc版本,所以需要本身已有gcc编译器. 获取 gcc-4.9.2的包: wget http://gcc.skazkaforyou.com/re ...
- Centos6.5升级gcc for qt5.3.1
1.升级GCC CentOS6.5内置的GCC版本为4.4,而Qt5.2.1则需要4.8.2的支持(支持C++ 11特性),因此,必须先升级GCC wget http://ftp.tsukuba.wi ...
- 转载:Centos升级gcc
一.检查centos 里面是否安装了gcc g++ 输入命令:rpm -qa|grep gcc*有看到就出来gcc的东西就是装了没有的话就yum install gcc* -y 二.升级gcc 对于C ...
- 升级GCC以支持C++11
本文主要介绍在Linux系统下,如何升级GCC以支持C++11.目前来看GCC是对C++11支持程度最高最多的编译器,但需要GCC4.8及以上版本. 本文使用操作系统:Centos 6.4 Desk ...
- Centos7升级gcc版本方法之一使用scl软件集
Centos7 gcc版本默认4.8.3,Red Hat 为了软件的稳定和版本支持,yum 上版本也是4.8.3,所以无法使用yum进行软件更新,所以使用scl. scl软件集(Software Co ...
随机推荐
- 吴裕雄--天生自然 PHP开发学习:面向对象
<?php class Site { /* 成员变量 */ var $url; var $title; /* 成员函数 */ function setUrl($par){ $this->u ...
- HTTP、MQTT、WebSocket有什么区别
https://blog.csdn.net/linyunping/article/details/81950185 相同点:均为OSI 7层模型(应用层.表示层.会话层.传输层.网络层.数据链路层.物 ...
- Java 实现 栈
package Test; import java.util.*; public class Stack_test { public static void main(String[] args) { ...
- c#学习笔记01——引用&类
数据类型 值类型 bool 布尔值 True 或 False False byte 8 位无符号整数 0 到 255 0 char 16 位 Unicode 字符 U +0000 到 U +ffff ...
- JavaScript学习笔记 - 入门篇(2)- 常用互动方法
输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...
- Reservoir Computing论文学习
目录 背景: RC优势: 储备池计算主要理论组成: ESNS数学模型 结构表示 状态方程和输出方程 计算过程 储备池的优化 GA:使用进化算法对参数进行优化: 基于随机梯度下降法的储备池参数优化 参考 ...
- Django框架(一):MVC设计模式、Django简介
1. MVC设计模式 MVC设计模式:Model-View-Controller简写. 最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪8 ...
- iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码
iOS精选源码 iOS高仿微信完整项目源码 Khala: Swift 编写的iOS/macOS 路由框架 微信左滑删除效果的实现与TableViewCell的常用样式介绍 实现阴影圆角并存,渐变色背景 ...
- 吴裕雄--天生自然 pythonTensorFlow图形数据处理:输入文件队列
import tensorflow as tf # 1. 生成文件存储样例数据. def _int64_feature(value): return tf.train.Feature(int64_li ...
- 吴裕雄--天生自然 pythonTensorFlow图形数据处理:windows操作系统删除tensorflow
输入:pip uninstall tensorflow Proceed(y/n):y