[分享栈]centos7安装gcc10.2.0

1、切换到root账户

2、安装gcc4.8.5

yum install -y gcc gcc-c++

gcc1020installgcc485.png

gcc1020installgcc485finish.png

3、安装bzip2

yum install -y bzip2

gcc1020installbzip2.png

gcc1020installbzip2finish.png

4、下载gcc10.2.0包

wget -P /home https://mirrors.aliyun.com/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz

gcc1020downloadpackage.png

出现错误:wget: 无法解析主机地址 “mirrors.aliyun.com”,手动修改dns即可;

5、解压镜像文件

cd /home && tar -xzvf /home/gcc-10.2.0.tar.gz

gcc1020untarfinish.png

6、配置依赖项

cd /home/gcc-10.2.0 && ./contrib/download_prerequisites

gcc1020downloadrequire.png

这一步可能国内会等待比较久,耐心等待,如果出现error: Cannot download gmp-6.1.0.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/infrastructure/错误,执行

 wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2

如果报错其他文件不能下载,去https://gcc.gnu.org/pub/gcc/infrastructure/下载对应文件,复制到/home/gcc-10.2.0即可。

7、创建安装文件夹

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

8、创建编译文件夹

mkdir /home/gcc-build-10.2.0
cd /home/gcc-build-10.2.0

9、配置安装文件

../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

gcc1020readyfile.png

gcc1020readyfilefinish.png

10、执行编译并安装(编译需要2-3小时,请耐心等待)

make && make install

11、备份原gcc并链接新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

gcc1020backipgcc.png

gcc1020linknewgcc.png

12、查询版本

gcc -v
g++ -v

gcc1020gccv.png

gcc1020g++v.png

13、替换库链接

如果出现错误:

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found

执行以下语句,链接新的libstdc++.so.6库文件

rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/lib/gcc/x86_64-redhat-linux/10.2.0/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6

gcc1020linklib.png

可以用以下指令查看目前包含哪些库

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

gcc1020linklibfinish.png

posted @ 2020-08-03 16:33  武小栈  阅读(7809)  评论(1编辑  收藏  举报