简介
使用新的编译特性或者定制化 GCC 功能,需要自己编译安装GCC,不同 GCC 版本可以使用不同方式编译安装。
登陆滴滴云服务器 DC2 并查看 GCC 版本
1 2 3 4 |
$ ssh dc2-user@117.51.156.87 # ssh key 登陆 这里不需要登陆密码 $ which gcc /usr/bin/which: no gcc in (/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) |
从上面可以看出默认的 DC2 系统中是没有安装 GCC,手动安装 GCC 过程如下:
1. 编译安装 gcc-7.1.0
1.1 下载必须的软件包
1 2 3 4 |
wget http://ftp.yz.yamagata-u.ac.jp/pub/GNU/gmp/gmp-6.1.2.tar.bz2 wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.5.tar.gz wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz |
1.2 编译安装必须的软件包
1 2 3 4 5 6 7 8 9 |
./configure --prefix=/root/local/gmp-6.1.2 make && make install ./configure --prefix=/root/local/mpfr-3.1.5 --with-gmp=/root/local/gmp-6.1.2 make && make install ./configure --prefix=/root/local/mpc-1.0.2 --with-gmp=/root/local/gmp-6.1.2 --with-mpfr=/root/local/mpfr-3.1.5 make && make install |
1.3 编译安装 GCC
1 2 3 4 5 6 7 8 9 10 11 12 13 |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/local/gmp-6.1.2/lib:/root/local/mpc-1.0.2/lib:/root/local/mpfr-3.1.5/lib ./configure --prefix=/usr/local/gcc-7.1.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/root/local/gmp-6.1.2 --with-mpfr=/root/local/mpfr-3.1.5 --with-mpc=/root/local/mpc-1.0.2 make && make install cd /usr/bin ln -s /root/local/gcc-7.1.0/bin/gcc gcc7.1 ln -s /root/local/gcc-7.1.0/bin/g++ g++7.1 vim /etc/profile export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/local/gmp-6.1.2/lib:/root/local/mpc-1.0.2/lib:/root/local/mpfr-3.1.5/lib:/root/local/gcc-7.1.0/lib |
2. 编译安装 gcc-8.1.0
该版本我们可以自动让 GCC 编译安装必须的软件包。
1 2 3 4 5 6 |
wget ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-8.1.0/gcc-8.1.0.tar.xz tar zxvf gcc-8.1.0.tar.xz cd gcc-8.1.0 ./contrib/download_prerequisites |
2.1 编译安装 GCC
1 2 3 4 |
cd ../ && make tmp && cd tmp ../gcc-8.2.0/configure --prefix=/root/local/gcc-8.2.0 --disable-checking --disable-multilib make && make install |
本文作者:张同浩