升级GCC以及GLIBC版本

shell脚本如下(以在CentOS7上升级GCC 6.5.0版本为例):

#!/usr/bin/env bash
#Author :
#Notice : chmod u+x -R ./*
 
GCC_V='6.5.0'
sudo yum groupinstall chinese-support
sudo yum install -y glibc-static libstdc++-static cmake
wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_V}/gcc-${GCC_V}.tar.gz  -O gcc-${GCC_V}.tar.gz       
tar xzf gcc-${GCC_V}.tar.gz
cd gcc-${GCC_V}
./contrib/download_prerequisites	#安装一些依赖
cd ..
mkdir build_gcc${GCC_V}
cd build_gcc${GCC_V}
../gcc-${GCC_V}/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4    #并行编译加快编译速度(但是实测有时会报错,如果报错就用去掉-j选项)
make install
cd ..
rm -rf build_gcc${GCC_V} gcc-${GCC_V} gcc-${GCC_V}.tar.gz 
 
rm -rf /usr/bin/gcc
ln -s /usr/local/bin/x86_64-pc-linux-gnu-gcc-${GCC_V} /usr/bin/gcc
rm -rf /usr/lib64/libstdc++.so.6	
cp -rfp /usr/local/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6.0.22 	#放到默认的链接路径
ln -sv /usr/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6 				#建立软连接 

注意事项:

  1. make -j4 一般-j后面的数字为所在主机核心数的两倍(make非常耗时,实测过程中加-j4可能会报编译错误,此时可以把-j选项去掉试一下)
  2. 查看GLIBC支持的版本号命令如下(一般都是向下兼容的):
# strings /usr/lib64/libstdc++.so.6 |grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_FORCE_NEW
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

可见最高支持到3.4.20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值