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
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
工具下载的是:
- mpfr-2.4.2.tar.bz2
- gmp-4.3.2.tar.bz2
- mpc-0.8.1.tar.gz
- isl-0.12.2.tar.bz2
- 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 编译实在是…
找到了预编译版本:
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