本来以为装一下很容易,随便搞搞就完事了,结果发现如果没有root权限的话还挺麻烦的,因为gcc需要三个库:gmp
、mpfr
、mpc
。而且它们之间有依赖关系,所以安装要按顺序来。这些库要在ftp://gcc.gnu.org/pub/gcc/infrastructure/下载。
在此之前使用export ENVDIR=
指定一个安装路径,最好加入bashrc。
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
tar jxvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
./configure CC=gcc CXX=g++ FC=gfortran --prefix=$ENVDIR/gmp
make -j
make install
cd -
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
tar jxvf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
./configure CC=gcc CXX=g++ FC=gfortran --prefix=$ENVDIR/mpfr
make -j
make install
cd -
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
tar zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3
./configure CC=gcc CXX=g++ FC=gfortran --prefix=$ENVDIR/mpc --with-gmp=$ENVDIR/gmp --with-mpfr=$ENVDIR/mpfr
make -j
make install
cd -
下面安装gcc。在此之前,最好把库加入到环境变量中:export LD_LIBRARY_PATH=$ENVDIR/gmp/lib:$ENVDIR/mpfr/lib:$ENVDIR/mpc/lib:$LD_LIBRARY_PATH
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
tar zxvf gcc-7.3.0.tar.gz
cd gcc-7.3.0
./configure CC=gcc CXX=g++ FC=gfortran --prefix=$ENVDIR/gcc --with-gmp=$ENVDIR/gmp --with-mpfr=$ENVDIR/mpfr --with-mpc=$ENVDIR/mpc --disable-multilib #禁用了编译成32位程序的功能,因为系统中也没装32位库,不禁用也编译不了
make -j
make install
cd -
Comments
注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。