升级centos 6.8 服务器的gcc

背景需求

在有些项目需要用到c++11的特性的时候,就要求gcc到4.8版本。而centos 6.8 系统带的gcc是4.4版本。故而需要升级。本次升级采用下载源码编译安装,操作稍稍复杂和耗时。

注意:下方步骤仅仅在centos 6.8版本上测试过,其他linux发行版尚未测试。

编译安装步骤

1、下载源码,下载地址:http://ftp.gnu.org/gnu/gcc/gcc-4.8.2.tar.bz2

2、解压,

tar -vxf gcc-4.8.2.tar.bz2

3、进入gcc-4.8.2目录,执行下面命令下载供编译需求的依赖项

cd gcc-4.8.2 
./contrib/download_prerequisites

4.、创建一个编译目录,并进入到该目录下,

mkdir gcc-build
cd gcc-build

5、生成Makefile文件:

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

6、编译:

make -j4

 此过程很慢很慢,请耐心等待。
实测过: 2020/06/11 17:30 - 2020/06/11 18:40 , 耗时一小时10分钟。
-j4选项是make对多核处理器的优化,如果不成功请使用 make

7、安装,执行 

make install

8、查看版本,检查是否已升级到2.14版本

gcc -v

9、修改软连接
在/usr/local/lib64/目录下查看是否存在libstdc++.so.6.0.18文件,如果不存在,则查找下
运行 find / -name “libstdc++.so*”这条命令的时候,看清楚 /usr/local/lib64/libstdc++.so.6.0.18

cp /usr/local/lib64/libstdc++.so.6.0.18 /usr/lib64
ln -s /usr/lib/libstdc++.so.6.0.18 /usr/lib/libstdc++.so.6

这两条命令的时候要把来的替换为libstdc++.so.6.0.18

升级后查看下中文是否乱码、时间是否准确
建立完软连接,如果实在没有起作用,可以重启服务器试试

你可能感兴趣的:(linux)