Step 1 安装依赖
yum install -y gcc texinfo-tex flex zip libgcc glibc-devel gcc-c++ gcc yum install -y gmp-devel mpfr-devel libmpc-devel
Step 2 编译前准备
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz tar zxvf ./gcc-4.8.5.tar.gz && cd gcc-4.8.5 ./contrib/download_prerequisites
Step 3 创建一个供编译后的程序文件存放目录并编译安装(耗时1小时左右)
mkdir /usr/src/gcc-make cd /usr/src/gcc-make/ /root/gcc-4.8.5/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib make && make install gcc -v #检测版本
Step 4 替换系统低版本gcc
mv /usr/bin/c++ /usr/bin/c++.bak ln -s /usr/local/bin/c++ /usr/bin/c++ mv /usr/bin/g++ /usr/bin/g++.bak ln -s /usr/local/bin/g++ /usr/bin/g++ mv /usr/bin/gcc /usr/bin/gcc.bak ln -s /usr/local/bin/gcc /usr/bin/gcc
Step 5 替换系统gcc动态库
用以下命令检查当前gcc动态库
strings /usr/lib/libstdc++.so.6 | grep GLIBC
查找编译gcc时生成的最新动态库
find / -name "libstdc++.so*"
首行列出新版的gcc动态链接库位置
/usr/local/lib/libstdc++.so.6.0.19
将上面的最新动态库libstdc++.so.6.0.19重新建立软连接
#64位系统为目录为/usr/lib64/注意替换
mv /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.6.bak ln -s /usr/local/lib/libstdc++.so.6.0.19 /usr/lib/libstdc++.so.6
Step 6 清理源文件
安装完成后可以删除 /usr/src/gcc-make/ ,占用1.7G空间;/root/gcc-4.8.5/ 占用700M ,浪费空间
文章评论