更新gcc到10.2.0版

GCC是什么?

GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++Objective-CFortranJavaAdaGo语言前端,也包括了这些语言的库(如libstdc++,libgcj等。) GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由

为什么要更新?

很多软件编译安装的时候,需要版本都高于4.8版本了。

查看gcc版本

gcc -v

下载编译安装

yum install ncurses ncurses-devel gcc gcc-c++ autoconf automake -y

gnu官网或者其他mirror镜像下载10.2.0版本

wget http://mirror.hust.edu.cn/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz

tar -xzvf gcc-10.2.0.tar.gz

解压并创建安装目录

mkdir /usr/lib/gcc/x86_64-redhat-linux/10.2.0

下载关联文件,需要耐心等待

cd gcc-10.2.0

./contrib/download_prerequisites

2021-01-13 17:19:15 URL:http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar. bz2 [2383840/2383840] -> “./gmp-6.1.0.tar.bz2” [1]
2021-01-13 17:22:35 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 [1279284/1279284] -> “./mpfr-3.1.4.tar.bz2” [1]
2021-01-13 17:24:14 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925/669925] -> “./mpc-1.0.3.tar.gz” [1]
2021-01-13 17:28:52 URL:http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2 [1658291/1658291] -> “./isl-0.18.tar.bz2” [1]
gmp-6.1.0.tar.bz2: OK
mpfr-3.1.4.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.18.tar.bz2: OK
All prerequisites downloaded successfully.

创建编译临时目录进入目录

mkdir /root/gcc-build

cd /root/gcc-build/

编译安装

/root/gcc-10.2.0/configure –prefix=/usr/lib/gcc/x86_64-redhat-linux/10.2.0/ –enable-checking=release –enable-languages=c,c++ –disable-multilib

make -j 16

make install

安装好后系统gcc更新版本信息

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.8.5 88 –slave /usr/bin/g++ g++ /usr/bin/g++-4.8.5
alternatives –install /usr/bin/gcc gcc /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-gcc 99 –slave /usr/bin/g++ g++ /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-g++
alternatives –config gcc

alternatives 可以设置优先级

alternatives –install
其中,
install表示安装
link是符号链接
name则是标识符
path是执行文件的路径
priority则表示优先级

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注