04月01, 2018

Linux编译安装gcc

本来以为装一下很容易,随便搞搞就完事了,结果发现如果没有root权限的话还挺麻烦的,因为gcc需要三个库:gmpmpfrmpc。而且它们之间有依赖关系,所以安装要按顺序来。这些库要在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 -

本文链接:https://debug.fanzheng.org/post/compile-and-install-gcc-on-linux.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。