Centos6下编译安装gcc6.4.0

来源:互联网 发布:不用端口号访问服务器 编辑:程序博客网 时间:2024/06/16 20:14

转载自博客园

https://www.cnblogs.com/milton/p/7653760.html

保存学习用。


Centos6自带的gcc4.4.7不支持c++11, 于是编译安装最新版的gcc

wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xztar xvf gmp-6.1.2.tar.xz cd gmp-6.1.2./configure --prefix=/usr/local/gmpmake && make installwget http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.gztar xvf mpfr-3.1.6.tar.gz cd mpfr-3.1.6./configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmpmake && make installwget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gztar xvf mpc-1.0.3.tar.gz cd mpc-1.0.3./configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp -with-mpfr=/usr/local/mpfrmake && make installvi /etc/ld.so.conf#增加以下三行/usr/local/gmp/lib/usr/local/mpfr/lib/usr/local/mpc/lib#ldconfig -vwget ftp://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.gztar xvf gcc-6.4.0.tar.gz./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpcmake -j2 # 这个过程比较慢, 大概要半个多小时make install# 改名 /usr/bin 下的 cpp, c++, gcc, g++, gcov 这些文件, 再执行 gcc --version 就能看到新的版本信息了
Update 2017-10-12: 在将 /usr/bin/gcc 更名后, link到这个文件的 /usr/bin/cc 就失效了, 需要删除, 并在 /usr/local/bin/ 下新建一个到gcc的cc软链


到这里都是转载自博客园作者Milton的内容。


更新升级后的gcc还需要修改连接。不然gcc --version还是以前的版本信息。

按照大部分的文档接下来的切换gcc和g++版本使用的是

sudo updatedbsudo update-alternatives --install /usr/bin/gcc gcc /opt/app/gcc6/bin/x86_64-pc-linux-gnu-gcc-6.4.0 10086 --slave /usr/bin/g++ g++ /opt/app/gcc6/bin/x86_64-pc-linux-gnu-g++

但是这个命令update-alternatives在目前的系统下无效(系统版本为centos6,没有找到原因!)

因为本来就是为了更改/usr/bin/gcc和/usr/bin/g++软连接

而且又不准备以后再切换回来原来的gcc版本所以就直接使用删除掉原来的gcc/g++连接,重新建立连接到新安装的gcc/g++位置,

本系统下安装的gcc位置为 /opt/app/gcc6

sudo rm /usr/bin/gcc //删除老的软连接sudo ln -s /opt/app/gcc6/bin/gcc /usr/bin/gcc //创建新的软连接sudo rm /usr/bin/g++ //删除老的软连接sudo ln -s /opt/app/gcc6/bin/gcc /usr/bin/g++ //创建新的软连接


原创粉丝点击