本人centos6需要使用gcc4.8.5编译openssl 1.1.1
下面列出升级GCC4.8.5的方法,亲测可用.
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 ,浪费空间
update20201225: 使用软件源安装gcc,快速简单
a. 安装scl源
yum install centos-release-scl scl-utils-build
b. 列出scl可用开发工具包
yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-"
c. 安装gcc工具包(编译工具包括gcc, gcc-c++, gdb)
yum install -y devtoolset-11-toolchain #目前最新支持到gcc11.2.1 scl enable devtoolset-11 bash
d. 支持重启使用gcc11.2.1
echo "source /opt/rh/devtoolset-11/enable" >> /etc/profile
e. 查看gcc版本
gcc --version
参考来源
https://www.jianshu.com/p/588fa1c02772
此处评论已关闭