You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7.9安装RPM包遇libstdc++依赖错误求助

CentOS 7.9下RPM安装libstdc++.so.6依赖问题排查

问题场景

在CentOS 7.9系统(gcc版本11)中执行rpm -hiv TCGstorageAPI-1.0-1.x86_64.rpm安装RPM包时,触发libstdc++.so.6依赖缺失报错,缺失的依赖项为:

  • libstdc++.so.6(CXXABI_1.3.9)(64bit)
  • libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
  • libstdc++.so.6(GLIBCXX_3.4.26)(64bit)
  • libstdc++.so.6(GLIBCXX_3.4.29)(64bit)

已将libstdc++.so.6.0.29放入/lib64和/usr/lib64目录,并创建了指向libstdc++.so.6的软链接,且通过验证确认该版本包含所需的CXXABI_1.3.9和GLIBCXX_3.4.29标识,但安装仍报错。

已执行的验证操作及结果

[root@dist]# strings /usr/lib64/libstdc++.so.6.0.29 | grep GLIBCXX_3.4.29
GLIBCXX_3.4.29
GLIBCXX_3.4.29
[root@dist]# ls /usr/lib64/libstdc++* -l
lrwxrwxrwx. 1 root root       19 Dec 22 15:30 /usr/lib64/libstdc++.so -> libstdc++.so.6.0.29
lrwxrwxrwx. 1 root root       19 Dec 22 15:30 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.29
-rwxr-xr-x. 1 root root   995840 Sep 30  2020 /usr/lib64/libstdc++.so.6.0.19
-rwxr-xr-x. 1 root root 16757720 Jan 10  2022 /usr/lib64/libstdc++.so.6.0.28
-rw-r--r--. 1 root root     2386 Jan 10  2022 /usr/lib64/libstdc++.so.6.0.28-gdb.py
-rwxr-xr-x. 1 root root 14608032 Dec 22 15:30 /usr/lib64/libstdc++.so.6.0.29
-rw-r--r--. 1 root root     2382 Dec 22 15:30 /usr/lib64/libstdc++.so.6.0.29-gdb.py
[root@dist]# ls /lib64/libstdc++* -l
lrwxrwxrwx. 1 root root       19 Dec 22 15:30 /lib64/libstdc++.so -> libstdc++.so.6.0.29
lrwxrwxrwx. 1 root root       19 Dec 22 15:30 /lib64/libstdc++.so.6 -> libstdc++.so.6.0.29
-rwxr-xr-x. 1 root root   995840 Sep 30  2020 /lib64/libstdc++.so.6.0.19
-rwxr-xr-x. 1 root root 16757720 Jan 10  2022 /lib64/libstdc++.so.6.0.28
-rw-r--r--. 1 root root     2386 Jan 10  2022 /lib64/libstdc++.so.6.0.28-gdb.py
-rwxr-xr-x. 1 root root 14608032 Dec 22 15:30 /lib64/libstdc++.so.6.0.29
-rw-r--r--. 1 root root     2382 Dec 22 15:30 /lib64/libstdc++.so.6.0.29-gdb.py

排查解决方案

1. 同步RPM数据库与实际库文件版本

RPM依赖检查优先读取系统RPM数据库的记录,而非文件系统的库文件。执行以下命令查看已注册的libstdc++版本:

rpm -q libstdc++

若输出版本低于6.0.29,需安装对应gcc 11编译生成的libstdc++ RPM包(不建议手动拷贝文件,优先通过包管理维护)。

2. 更新动态链接库缓存

手动替换库文件后,需刷新系统动态链接缓存:

ldconfig -v | grep libstdc++.so.6

确认输出中指向的是libstdc++.so.6.0.29。

3. 强制安装并验证运行

跳过依赖检查强制安装RPM包,之后验证程序实际加载的库版本:

rpm -hiv --nodeps TCGstorageAPI-1.0-1.x86_64.rpm

安装完成后检查程序依赖:

ldd /usr/bin/TCGstorageAPI  # 替换为实际程序路径

确认输出中libstdc++.so.6指向的是6.0.29版本。

4. 修复库文件权限与SELinux上下文

确保库文件权限与系统原有文件一致,并修复SELinux上下文:

chmod 755 /usr/lib64/libstdc++.so.6.0.29 /lib64/libstdc++.so.6.0.29
restorecon -v /usr/lib64/libstdc++.so.6.0.29 /lib64/libstdc++.so.6.0.29

内容的提问来源于stack exchange,提问作者Rory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 14:45:55