CentOS6上编译安装gcc8.1版本全过程记录(包括排坑与常见错误解决)

本文详细记录了在CentOS 6上升级gcc8.1的过程,包括安装依赖、下载源码、编译、创建软链接及解决升级后遇到的C库版本不匹配、字符串格式非法、类型转换警告、链接错误和ldconfig报错等常见问题。
摘要由CSDN通过智能技术生成

之前发现开发机上安装的gcc版本太旧了,连C++11新特性都不支持,于是决定对其进行升级。本文详细记录了在CentOS 6上升级gcc的整个过程,特别是其中遇到的坑和解决办法。

安装依赖项

先把依赖项装好

sudo yum install glibc-devel bison flex texinfo build-essential

在安装的过程中就会发现翻车了:

$ ll
relocation error: /usr/lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference

这时会发现几乎所有常见命令都无法执行了——因为他们都依赖C库,而现在C库处于gg状态。解决方案也很简单,两条指令就能搞定。想比于已经启动不了的ln,sln真是雪中送炭啊!

LD_PRELOAD="/lib64/libc-2.12.so"
sudo sln /lib64/libc-2.12.so /lib64/libc.so.6

下载源码

wget http://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.xz
tar -xf ./gcc-8.1.0.tar.xz
cd ./contrib/
./download_prerequisites
cd ..

如果目标机网络不好,则需要下载gcc源码到本地,并且将./contrib/download_prerequisites中需要的4个依赖库源码下载好,然后手动上传、解压并设置链接。

tar -xf ./isl-0.18.tar.bz2 
tar -xf ./mpc-1.0.3.tar.gz 
tar -xf ./mpfr-3.1.4.tar.bz2 
tar -xf ./gmp-
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
源码编译安装GCC可以通过以下步骤进行: 1. 安装依赖库: - 执行命令:`yum install -y epel-release` 安装EPEL源; - 执行命令:`yum install -y vim wget gcc gcc-c make autoconf automake zip bzip2` 安装基础编译软件; - 执行命令:`yum install -y gcc-gnat libgcc libgcc.i686 glibc-devel bison flex m4 texinfo build-essential` 安装其他依赖软件。 2. 下载并解压GCC源码: - 执行命令:`wget -P '/usr/local/src' https://ftp.gnu.org/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz` 下载GCC源码; - 执行命令:`cd /usr/local/src` 进入下载目录; - 执行命令:`tar -zxvf gcc-10.3.0.tar.gz -C '/usr/local/src'` 解压GCC源码; - 执行命令:`cd gcc-10.3.0` 进入解压后的源码目录。 3. 设置环境变量: - 执行命令:`echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64' >> /etc/profile` 将依赖库路径添加到环境变量中; - 执行命令:`source /etc/profile` 使环境变量立即生效; - 执行命令:`vim /etc/ld.so.conf` 编辑ld.so.conf文件,将GCC依赖的动态链接库路径添加到文件中。 4. 编译安装GCC: - 执行命令:`./configure --prefix=/usr/local/gcc-10.3.0` 配置GCC安装路径; - 执行命令:`make -j$(nproc)` 编译GCC,耗时较长,请保证有足够的时间; - 执行命令:`make install` 安装GCC。 5. 配置GCC的默认版本(可选): - 执行命令:`ln -s /usr/local/gcc-10.3.0/bin/gcc /usr/local/bin/gcc` 创建软链接,将GCC的可执行文件路径添加到系统的PATH环境变量中。 请注意,源码编译安装GCC是一个耗时的过程,根据您的机器性能和网络状况,可能需要几个小时甚至更长时间才能完成编译。确保您有足够的时间和资源来完成这个过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值