Centos6.5 配置新版 gcc Clang 工具链的方法

 

centos6.5 的编译工具链最新版是 4.4.7, 太老旧了, 需要更新到至少 4.9 才能支持 C++11, 然后再通过 brew 更新 13.2 最新版.

gcc-4.9.4

应该是 4.9 的最后一个版本

先安装基本的依赖库:

gmp/mpfr/mpc

sudo yum install gmp-devel mpfr-devel libmpc-devel

可能没必要, 因为版本对应这个问题很迷

编译 gcc

InstallingGCC - GCC Wiki;

wget https://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.gz --no-check-certificate
tar xvf gcc-4.9.4.tar.gz
cd gcc-4.9.4

# 下载依赖, 除了有点慢没啥问题
./contrib/download_prerequisites 

mkdir build && cd build
../configure --enable-languages=c,c++,fortran,go --disable-multilib
make -j`nproc` # long long ago
sudo make install 

工具下载的是:

  1. mpfr-2.4.2.tar.bz2
  2. gmp-4.3.2.tar.bz2
  3. mpc-0.8.1.tar.gz
  4. isl-0.12.2.tar.bz2
  5. cloog-0.18.1.tar.gz

最后安装到了:

$ gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.4/lto-wrapper
目标:x86_64-unknown-linux-gnu
配置为:../configure --enable-languages=c,c++,fortran,go --disable-multilib
线程模型:posix
gcc 版本 4.9.4 (GCC)

$ which gcc
/usr/local/bin/gcc

实在是太慢了, 2C 编译实在是…

找到了预编译版本:

Index of /download/x86_64/releases;

wget https://gfortran.meteodat.ch/download/x86_64/releases/gcc-4.9.4.tar.xz
tar xvf gcc-4.9.4.tar.xz

设置环境变量

export PATH=$HOME/code/gcc-4.9.4/bin:$PATH
export LD_LIBRARY_PATH=$HOME/code/gcc-4.9.4/lib:$HOME/code/gcc-4.9.4/lib64:$LD_LIBRARY_PATH