一、背景
因为业务需要,服务器安装 redis-cluster-proxy。这个服务编译安装 gcc 版本要求大于 4.9,无奈只能重新编译安装
二、说明
照例先网上搜索,借鉴经验,总结如下:
#版本:
gcc version 4.9.3
#依赖包版本
cloog: 0.18.1
gmp: 4.3.2
isl: 0.12.2
mpc: 0.8.1
mpfr: 2.4.2
三、下载
#gcc
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-4.9.3/gcc-4.9.3.tar.gz
#依赖包
wget http://www.netgull.com/gcc/infrastructure/gmp-4.3.2.tar.bz2
wget http://www.netgull.com/gcc/infrastructure/mpfr-2.4.2.tar.bz2
wget http://www.netgull.com/gcc/infrastructure/mpc-0.8.1.tar.gz
wget http://www.netgull.com/gcc/infrastructure/isl-0.12.2.tar.bz2
wget http://www.netgull.com/gcc/infrastructure/cloog-0.18.1.tar.gz
四、安装依赖包
#先全部解压,然后依次安装,需要注意安装顺序
#注意压缩文件的格式,系统需要已经安装对应的解压软件
#我的安装目录为 /opt ,可以自己根据需要定义
#gmp
tar -xvf gmp-4.3.2.tar.bz2
cd gmp-4.3.2
./configure --prefix=/opt/gmp-4.3.2 --build=x86_64-linux
make && make install
#cloog
tar -xvf cloog-0.18.1.tar.gz
cd cloog-0.18.1
./configure --prefix=/opt/cloog-0.18.1 --build=x86_64-linux --with-gmp=/opt/gmp-4.3.2
make && make install
#isl
tar -xvf isl-0.12.2.tar.bz2
cd isl-0.12.2
./configure --prefix=/opt/isl-0.12.2 --build=x86_64-linux --with-gmp=/opt/gmp-4.3.2
make && make install
#mpfr
tar -xvf mpfr-2.4.2.tar.bz2
cd mpfr-2.4.2
./configure --prefix=/opt/mpfr-2.4.2 --build=x86_64-linux --with-gmp=/opt/gmp-4.3.2
make && make install
#mpc
tar -xvf mpc-0.8.1.tar.gz
cd mpc-0.8.1
./configure --prefix=/opt/mpc-0.8.1 --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2 --build=x86_64-linux
make && make install
五、安装 gcc
tar -xvf gcc-4.9.3.tar.gz
#设置 LD_LIBRARY_PATH,这里的目录需要是安装的具体路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gmp-4.3.2/lib:/opt/mpfr-2.4.2/lib:/opt/isl-0.12.2/lib:/opt/mpc-0.8.1/lib
#安装 gcc,时间会比较久,需要耐心等待
cd gcc-4.9.3
./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2 --with-mpc=/opt/mpc-0.8.1 --prefix=/opt/gcc-4.9
make && make install
六、安装完成
/opt/gcc-4.9/bin/gcc -v
输入:
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2 --with-mpc=/opt/mpc-0.8.1 --prefix=/opt/gcc-4.9
Thread model: posix
gcc version 4.9.3 (GCC)