跳转至

gcc

在使用或安装各类软件过程中,经常需要用到高版本的GCC,用户可以根据自己的需求,使用集群预装的高版本GCC或自行编译需要版本的GCC。

使用集群预装的GCC

# 查看集群预装的GCC版本
$ module av GCC

-------------------------------------------------- /public/home/software/opt/bio/modules/all/ ---------------------------------------------------
GCC/10.3.0     GCC/4.9.2      GCC/6.2.0-2.27 GCC/7.2.0-2.29 GCCcore/10.3.0 GCCcore/5.4.0  GCCcore/6.4.0
GCC/4.8.5      GCC/5.4.0-2.26 GCC/6.4.0-2.28 GCC/9.4.0      GCCcore/11.2.0 GCCcore/6.2.0  GCCcore/7.2.0

# 载入需要的GCC版本
$ module load GCC/10.3.0
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/public/home/software/opt/bio/software/GCCcore/10.3.0/libexec/gcc/x86_64-pc-linux-gnu/10.3.0/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
Target: x86_64-pc-linux-gnu
Configured with: ../configure --enable-languages=c,c++,fortran --without-cuda-driver --enable-offload-targets=nvptx-none --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-plugins --enable-gold=default --enable-ld --with-plugin-ld=ld.gold --prefix=/public/home/software/opt/bio/software/GCCcore/10.3.0 --with-local-prefix=/public/home/software/opt/bio/software/GCCcore/10.3.0 --enable-bootstrap --with-isl=/public/home/software/.local/easybuild/build/GCCcore/10.3.0/dummy-dummy/gcc-10.3.0/stage2_stuff
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.3.0 (GCC) 

普通用户编译安装GCC

相关软件下载

安装gcc之前依赖gmp、mpc、mpfr这三个包,所以先安装这个三个包,这三个包可以在下面的infrastructure目录下下载,gcc源码包在releases中下载,这里gcc下载的版本为gcc-4.8.5。

gcc下载

gcc

因为这三个包之间有依赖关系,安装顺序为gmp->mpfr->mpc->gcc

gmp安装

$ tar -jxvf gmp-4.3.2.tar.bz2
$ cd gmp-4.3.2
$ ./configure --prefix=/home/software/opt/gmp-4.3.2/ #gmp安装路径
$ make
$ make check #这一步可以不要
$ make install

mpfr安装

$ tar -jxvf mpfr-2.4.2.tar.bz2
$ cd mpfr-2.4.2
$ ./configure --prefix=/home/software/opt/mpfr-2.4.2/ --with-gmp=/home/software/opt/gmp-4.3.2/ #congfigure后面是mpfr安装路径及依赖的gmp路径
$ make
$ make check #这一步可以不要
$ make install

mpc安装

$ tar -zxvf mpc-0.8.1.tar.gz
$ cd mpc-0.8.1
$ ./configure --prefix=/home/software/opt/mpc-0.8.1/ --with-gmp=/home/software/opt/gmp-4.3.2/ --with-mpfr=/home/software/opt/mpfr-2.4.2/
$ make
$ make check #这一步可以不要
$ make install

更改~/.bashrc文件

在这个文件中添加一下三行(因为系统的LD_LIBRARY_PATH中有两个相邻的冒号,编译gcc的导致通不过,所以先把这个变量自己重新定义一下,然后将上面装的三个包添加到该变量中)

export LD_LIBRARY_PATH=/home/software/opt/gmp-4.3.2/lib/:/home/software/opt/mpfr-2.4.2/lib/:/home/software/opt/mpc-0.8.1/lib/:$LD_LIBRARY_PATH
export LIBRARY_PATH=$LD_LIBRARY_PATH

gcc安装

$ tar -jxvf gcc-4.8.2.tar.bz2
$ cd gcc-4.8.2
$ ./configure --prefix=/home/software/opt/gcc-4.8.5/ --enable-threads=posix --disable-checking --disable-multilib --with-mpc=/home/software/opt/mpc-0.8.1/ --with-gmp=/home/software/opt/gmp-4.3.2/ --with-mpfr=/home/software/opt/mpfr-2.4.2/ make -j 10 #类似于使用10个线程编译,速度要快很多
$ make install

更改~/.bashrc文件

在~/.bashrc文件中加入一下两句

export PATH=/home/software/opt/gcc-4.8.5/bin/:$PATH
export LD_LIBRARY_PATH=/home/software/opt/gcc-4.8.5/lib/:~/opt/gcc-4.8.5/lib64/:$LD_LIBRARY_PATH

本文阅读量  次
本站总访问量  次