最近因为要安装thrift,但是thrift安装时提示gcc版本过低,所以决定升级gcc版本,centos6.5自带的版本过低,yum库也更新不到高一些的版本,所以决定手动升级gcc。
升级前需要确保安装了glibc,且要求是32位的,一些64位的系统需要特别注意,如果没有安装glibc,可以使用如下命令安装:
yum -y install glibc-devel.i686
然后到官网下载gcc-4.8.0
1、解压gcc
tar -vxf gcc-4.8.0.tar.bz2
2、进入gcc-4.8.0目录
因为gcc编译安装需要 gmp,mpc,mpfr三个库,所以要先安装这三个库。不需要自己单独安装,直接使用解压出来的目录中执行相应的脚本即可自动下载安装
cd gcc-4.8.0
./contrib/download_prerequisites (ps:这一步非常重要!这一步非常重要!这一步非常重要!只有这一步执行完整,后面才不会出现各种各样的问题)
3、新建编译输出目录
cd ..
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
4、配置,编译,安装
../gcc-4.8.0/configure
make
make install
编译过程需要较长时间,可以让机器编译着,自己去干些别的事情~~
编译安装完成之后,别忘了更新lib
rm -rf /usr/local/lib/libstdc++.so.6
rm -rf /usr/local/lib64/libstdc++.so.6
ln -s /usr/local/lib/libstdc++.so.6.18 /usr/local/lib/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.18 /usr/local/lib64/libstdc++.so.6
如果不更新,可能会出现.../libstdc++.so.6: version `GLIBCXX_3.4.15' not found的问题
之后还要更新ld查找路径
在/etc/ld.so.conf.d/目录下新建一个文件xxx.conf
在文件中添加下面两行
/usr/local/lib
/usr/local/lib64