16boke - 一路博客

centos6.8的gcc由4.4.7升级到4.8.2

由于最近要升级node.js的版本,后来在安装的过程中,发现某些模块对于操作系统的c++编译环境有特别的要求,原因就是因为gcc、g++、c++的版本比较低,默认安装centos6.5/6.8时,gcc的版本是4.4.7,但是新版的nodejs需要至少4.8以上,所以只能升级gcc,下面介绍简单的方法使用yum安装升级gcc:

1、安装必要程序

[root@centos6 ~]# cd /etc/yum.repos.d

[root@centos6 yum.repos.d]# wget http://people.centos.org/tru/devtools-2/devtools-2.repo

[root@centos6 yum.repos.d]# yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++


安装文件放置位置在:/opt/rh/devtoolset-2

具体程序文件位置在:/opt/rh/devtoolset-2/root/usr/bin/*

使用最新的gcc环境,所以要替换本地的,使用软连接来完成(也可以设置环境变量,看自己喜好)

[root@centos6 ~]# mv /usr/bin/gcc /usr/bin/gcc-4.4.7

[root@centos6 ~]# mv /usr/bin/g++ /usr/bin/g++-4.4.7

[root@centos6 ~]# mv /usr/bin/c++ /usr/bin/c++-4.4.7

[root@centos6 ~]# ln -s /opt/rh/devtoolset-2/root/usr/bin/gcc /usr/bin/gcc

[root@centos6 ~]# ln -s /opt/rh/devtoolset-2/root/usr/bin/c++ /usr/bin/c++

[root@centos6 ~]# ln -s /opt/rh/devtoolset-2/root/usr/bin/g++ /usr/bin/g++


2、测试

[root@centos6 ~]# gcc -v

Using built-in specs.

COLLECT_GCC=g++

COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto-wrapper

Target: x86_64-redhat-linux

Configured with: ../configure --prefix=/opt/rh/devtoolset-2/root/usr --mandir=/opt/rh/devtoolset-2/root/usr/share/man --infodir=/opt/rh/devtoolset-2/root/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 --enable-languages=c,c++,fortran,lto --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --disable-libgcj --with-isl=/dev/shm/home/centos/rpm/BUILD/gcc-4.8.2-20140120/obj-x86_64-redhat-linux/isl-install --with-cloog=/dev/shm/home/centos/rpm/BUILD/gcc-4.8.2-20140120/obj-x86_64-redhat-linux/cloog-install --with-mpc=/dev/shm/home/centos/rpm/BUILD/gcc-4.8.2-20140120/obj-x86_64-redhat-linux/mpc-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux

Thread model: posix

gcc version 4.8.2 20140120 (Red Hat 4.8.2-15) (GCC) 

可以看到gcc已经升级到4.8.2了。

Linux  C++