转载:Centos升级gcc
一、检查centos 里面是否安装了gcc g++
输入命令:rpm -qa|grep gcc*
有看到就出来gcc的东西就是装了
没有的话就yum install gcc* -y
二、升级gcc
对于Centos 6.x的系统,默认根据yum源安装的gcc都是4.4.7版本的,即使换成阿里的yum源也是4.4.7版本的。这对于大多数软件是够用的,但是个别软件需要C++ 11的特性,而gcc从4.7版本才加入C++ 11特性,要解决这个问题一般有两种方法:
方法一:手动下载高版本的gcc的源码进行编译安装,这还需要先安装gcc的依赖软件包,比较繁琐
步骤:
(1)下载gcc-6.4.0:https://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.gz
如果直接安装,会提示Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+,所以要下载和安装GMP、MPFR和MPC这些依赖库,还要下载isl依赖库:
gmp-6.1.2: https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
mpfr-4.0.1: https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.gz
mpc-1.1.0: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
isl-0.20: http://isl.gforge.inria.fr/isl-0.20.tar.gz
(3)安装GMP、MPFR和MPC有顺序要求,GMP是基础、MPC依赖MPFR,最后安装isl。
在各个依赖包解压后的文件夹下分别执行
./configure
make
sudo make install
进行编译安装即可
(4)依赖库安装完成后最后编译安装gcc
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make
sudo make install
实际编译安装时按照这种方法搞了好久,到最后在执行sudo make install命令进行安装时会报错,网上也没找到相关原因,后来就采用了下述的方法二升级gcc成功!
方法二:使用devtoolset升级gcc版本,这个方法相对方法一比较快速
1.对于有网的电脑
按下述步骤操作:
1)先执行:
sudo wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
sudo yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
也可以下载devtoolset-3或者devtoolset-4,视情况下载安装。
devtoolset目前有4个版本:devtoolset-1.1 devtoolset-2 devtoolset-3 devtoolset-4,
以上devtoolset的4个版本分别对应gcc的版本为4.7、4.8、4.9、5.2
上述命令表示在/etc/yum.repos.d/下先新增一个devtools-2的yum网络源,然后再安装devtoolset-2的三个软件包,注意到安装这3个软件包时会还会下载安装另外8个依赖包。
2)上述软件包安装成功后就安装了gcc 4.8的版本。但是默认是没有开启的,需要执行下面命令以开启devtoolset-2:
. /opt/rh/devtoolset-2/enable
但是这样只会对当前shell会话有效,要想一直有效,可以在~/.bashrc文件中添加:
. /opt/rh/devtoolset-2/enable
这样每次shell会话都会开启devtoolset-2了。
开启了devtoolset-2之后就可以正常完成make和make install了。
2.对于没有网的电脑
按下述步骤操作:
1)先在有网的电脑上执行:
sudo wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
sudo yum install --downloadonly --downloaddir=/home/y/Desktop devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
把上述下载下来的软件包都移动到新建的devtoolsetAndDependency文件夹下,然后将该文件夹拷贝到没有网的电脑,做成yum本地源。如何制作yum本地源请参考:Centos 制作本地源
2)然后执行:
sudo yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
就会从本地yum源安装devtoolset-2了。
3)安装devtoolset-2完成后,如何开启devtoolset-2,请参照上面的 1.对于有网的电脑 所写的开启devtoolset-2的操作进行。
参考:
升级 GCC 支持C++11
CentOS 6.9升级GCC至6.4.0版本
CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)
安装devtoolset来满足gcc不同版本的要求
---------------------
作者:yzpyzp
来源:CSDN
原文:https://blog.csdn.net/yzpbright/article/details/81571645
版权声明:本文为博主原创文章,转载请附上博文链接!
转载:Centos升级gcc的更多相关文章
- Linux(CentOS)升级gcc版本
本人使用的是CentOS 6.2 64位系统,由于在安装系统的时候并没有勾选安装gcc编译器,因此需要自行安装gcc编译器. 系统信息查看命令: cat /etc/redhat-release 使用y ...
- centos升级gcc
https://blog.csdn.net/lanwilliam/article/details/77893033 [root@DS-VM-Node239 ~]# yum install centos ...
- ubuntu 14.04 与 CentOS 升级GCC/G++至5版本
# 支持 ubuntu 14.04 add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update apt-get i ...
- centos 升级GCC/G++
#get rep yum install centos-release-scl-rh #yum install centos-release-scl # install g++ 5.2.1 yum - ...
- CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update.... yum install 或者 添加y ...
- 【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
原文地址:https://www.cnblogs.com/lzpong/p/5755678.html 我这里是centos7 升级到gcc8.1,过程差不多,参考这篇文章,记录一下. ---原文--- ...
- CentOS 7 升级gcc/g++编译器
gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行.我的7.2的CentOS目前自带的gcc是4.8.5的,gcc从4.8之后开始支持C++11,但是鉴于现在C++14.C++17 ...
- centos 6升级 GCC 到4.8
centos 6升级 GCC 到4.8 安装最新版本的swoole 提示 pecl install swolle ... GCC 4.8 or later required. 首先想到的时候yum ...
- Centos 6.5升级gcc : 源码安装 + rpm安装
1. 前言 采用Centos 6.5默认的gcc版本为4.4.7,不支持c++ 11,需要升级: 首先想到用yum命令:执行yum update gcc-c++或yum update g++ 显示没有 ...
随机推荐
- WordCount项目基本功能
一.项目源代码地址 本人Gitee项目地址:https://gitee.com/yuliu10/WordCount 二.PSP表格 psp阶段 预估耗时 (分钟) 实际耗时 (分钟) 计划 30 10 ...
- Java Web相关问题
关于这两天主要问题的解答: (1) 驱动程序无法使用安全套接字层(SSL)加密与 SQL Server 建立安全连接.错误: java.lang.RuntimeException: Could no ...
- python3 list列表随机选取一个元素、随机选择一个user-agent
爬虫时适当更换user-agent可以稍微规避一下代理被封的风险... from random import sample ua = [ 'Mozilla/4.0 (compatible; MSIE ...
- MySQL基础知识-安装MySQL
前导: 昨天去参加了一个面试,公司不太大,是一家日资企业,在国内有几家分公司,面试官问到了MySQL的基本操作和性能优化,说了一大堆,倒是比较轻松的过了,但是面试结束之后,想了一下,基本操作忘的还是挺 ...
- mysql之limit使用
在mysql中,limit的使用方式如下: limit m,n --m:表示从哪一行开始查,n:查询多少条 需要明确的是,m表示取条数的起始位置,而n表示取多少条.例如我查询某个表,获取第一条数据,那 ...
- Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点
前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...
- 记录display:table的使用
兼容性:不兼容IE7 1.左右对齐 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- Java基础系列--02_运算符和程序的语句
运算符: (1)算术运算符: +,-,*,/,%,++,--(加.减.乘.除.取余.自增,自减) ++和--的注意事项: a:他们的作用是自增或者自减 b:使用 1.单独使用 放在操作数据的前面和后面 ...
- 最新webstorm
https://blog.csdn.net/hdp134793/article/details/81530472 最新webstorm,立即装,还有小盒子要弄个备份的,还有公交卡 2019-3-17( ...
- SQLserver2008一对多,多行数据显示在一行
现在有一个需求 我们有一张表employee EmpID EmpName ---------- ------------- 张山 张大山 张小山 李菲菲 李晓梅 Result I need in th ...