CENTOS7升级GCC笔记

本文详细介绍了如何从源码安装 GCC 5.4.0 版本,包括下载源码包、准备依赖库、生成 Makefile、编译及安装等步骤。同时针对升级 GCC 后可能出现的 ‘GLIBCXX_3.4.21’ 缺失问题,给出了具体的解决方案。

1.获取按转包并解压 (此处使用5.4.0)
cd /usr/local/src
wget https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2
tar -jxvf gcc-5.4.0.tar.bz2
2.下载依赖
cd gcc-5.4.0
./contrib/download_prerequisits
3.生成makefile
mkdir gcc-build-5.4.0
cd gcc-build-5.4.0
../configure –enable-checking=release –enable-languages=c,c++ –disable-multilib
4.编译,安装
make(建议不要使用make -j来编译,虽然可以缩短编译时间,但极大可能会编译失败)
make install

解决运行程序gcc出现’GLIBCXX_3.4.21’ not found
这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决,运行以下命令检查动态库:
strings /lib64/libstdc++.so.6 | grep GLIBC

从输出结果可以看到并没有“GLIBCXX_3.4.21“,所以可以断定我们的程序运行时动态加载的是老的动态库,解决这个问题需要将当前链接文件的链接指向改成最新的动态库地址:
cp /usr/local/lib64/libstdc++.so.6.0.21 /lib64
cd /lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
然后你可以执行以下命令来查看’GLIBCXX_3.4.21’已经可以找到了

CentOS 7 系统中安装 `gcc` 时如果遇到系统进入休眠状态,通常是由于系统的电源管理机制触发了休眠模式。这种问题常见于笔记本电脑或启用了自动休眠功能的服务器环境。为了解决该问题,需要调整与系统休眠相关的配置。 ### 检查并修改休眠设置 首先,可以检查当前系统的休眠设置,确认是否启用了闭盖休眠或其他可能导致系统休眠的策略。编辑 `/etc/systemd/logind.conf` 文件: ```bash sudo vi /etc/systemd/logind.conf ``` 找到以下行并进行修改: ```ini HandleLidSwitch=ignore ``` 此设置将确保关闭笔记本盖子时不会触发任何操作(例如休眠或锁屏)。保存文件后,重启 `systemd-logind` 服务以应用更改: ```bash sudo systemctl restart systemd-logind ``` 这样可以有效防止在安装过程中因闭盖而进入休眠状态[^3]。 ### 检查当前运行的电源管理服务 此外,还可以检查是否有其他电源管理工具(如 `gnome-power-manager` 或 `upower`)正在运行,并可能影响系统行为。可以通过以下命令查看相关服务的状态: ```bash systemctl list-units | grep power ``` 如果发现某些不必要的电源管理服务,可以使用以下命令禁用它们: ```bash sudo systemctl disable <service_name> ``` ### 手动禁用休眠 如果希望临时禁用休眠功能,可以直接通过以下命令阻止系统进入休眠: ```bash sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target ``` 此命令会屏蔽所有与休眠相关的系统目标,从而防止系统进入休眠状态。如果需要恢复默认行为,可以使用以下命令取消屏蔽: ```bash sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target ``` ### 安装 gcc 的注意事项 在解决了休眠问题之后,继续安装 `gcc` 时,请确保系统处于稳定的运行状态。如果使用源码编译安装 `gcc`,请按照标准流程进行配置和编译,例如: ```bash ./configure --prefix=/usr/local/gcc --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib make sudo make install ``` 上述步骤可以避免因系统中断导致的安装失败问题[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值