Centos6.5升级gcc4.4.7升级gcc4.7.0

前端之家收集整理的这篇文章主要介绍了Centos6.5升级gcc4.4.7升级gcc4.7.0前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

由于要使用xtrabackup进行MysqL的物理备份,在使用过程中报错:version `GLIBCXX_3.4.15' not found (required by ./xtrabackup)。该错误的原因是当前的GCC版本中,没有GLIBCXX_3.4.15,需要安装更高版本。于是,先查看当前系统中到底有没有GLIBCXX_3.4.15。

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

经过查看确实没有。

这种情况有两种解决办法:一是更新gcc动态库文件libstdc++.so.6,二是升级gcc。

方法一:更新libstdc++.so.6

于是去下载。下载地址:http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_amd64.deb

下载到/usr/local/src中。然后解压 ar -x libstdc++6_4.7.2-5_amd64.deb && tar xvf data.tar.gz

解压后会出现usr目录

cd usr/lib/x86_64-linux-gnu/

cp libstdc++.so.6.0.17 /usr/lib64

cd /usr/lib64

rm libstdc++.so.6

ln libstdc++.so.6.0.17 libstdc++.so.6

至此,已升级完成。可以再次查看是否有GLIBCXX_3.4.15了。


方法二:升级gcc

1.下载源码包

wget http: //ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2

tar -jxvf gcc-4.8.0.tar.bz2

2.下载编译所需依赖库

cd gcc-4.8.0

./contrib/download_prerequisites

cd ..

3.建立编译输出目录

mkdir gcc-build-4.8.0

4.进入此目录,执行以下命令,生成makefile文件

cd gcc-build-4.8.0

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

5.编译

# j 后面的是核心数,编译速度会比较快

make -j4

6.安装

make install

7.切换GCC到新版 确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下

ls /usr/local/bin | grep gcc

添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了

update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40

8.确认当前版本已经切换为新版(重新连接shell生效).

gcc -v

如果此时还是没有GLIBCXX_3.4.15。这是因为虽然升级了GCC,生成的动态库没有替换老版本gcc的动态库。

解决方法

cp/usr/local/lib64/libstdc++.so.6.0.18/usr/lib64/
rm-flibstdc++.so.6
ln-slibstdc++.so.6.0.18libstdc++.so.6

猜你在找的CentOS相关文章