论小内存机器如何优雅地不编译使用GCC 4.8

这是我升级 GCC4.8 时的经验,现在把它贴出来。
在使用伟大的Google之后,我看到了这样一个帖子

How to Install gcc 4.7.x/4.8.x on CentOS
What would be the easiest way to install gcc4.7.x/4.8.x on a system with CentOS 6.2+? The default RPM package contains an older version of gcc.

有人回复说:

Tru Huynh of centos.org has built the redhat developer toolset 1.1, for centos and it contains gcc 4.7.2
So you could simply use his repo and install just gcc, instantly.

我看了一下相关文档,这位开发的红帽devtoolset-1.1中,似乎是包括了GCC 4.7,而不是我要的4.8。

我又在people.centos.org上面找到了其包含GCC 4.8的版本,即devtoolset-2。

〔其实有devtoolset-3的,似乎软件作者自己都没测试过,详情请见:https://people.centos.org/tru/devtoolset-3-rebuild/readme.txt

安装方法:

wget https://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils
yum install devtoolset-2-gcc-gfortran

然后,在bash里修改CC等编译器的默认路径:

export CC=/opt/rh/devtoolset-2/root/usr/bin/gcc
export CPP=/opt/rh/devtoolset-2/root/usr/bin/cpp
export CXX=/opt/rh/devtoolset-2/root/usr/bin/c++

大功告成!

参考:

  1. https://superuser.com/questions/381160/how-to-install-gcc-4-7-x-4-8-x-on-centos
  2. https://people.centos.org/tru/devtools-2/readme