【问题标题】:How to point to the newer version of gcc libs when installing rpms安装 rpms 时如何指向较新版本的 gcc libs
【发布时间】:2014-06-27 09:15:19
【问题描述】:

我正在尝试在我的 Centos 6.4 上安装 Chrome。库存的 gcc 是 4.4.6,所以我自己在 /opt/gcc-4.7.3 中安装了 4.7.3。还将 /opt/gcc-4.7.3/bin 添加到 PATH 并将 /opt/gcc-4.7.3/lib64 添加到 libstdc++.so.6 所在的 LD_LIBRARY_PATH 中。但是,当我安装 chrome rpm 时,仍然出现同样的错误:

rpm -ivh google-chrome-stable_current_x86_64.rpm 
warning: google-chrome-stable_current_x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 7fac5991: NOKEY
error: Failed dependencies:
    libstdc++.so.6(GLIBCXX_3.4.15)(64bit) is needed by google-chrome-stable-34.0.1847.132-1.x86_64

它清楚地表明存在 GLIBCXX_3.4.15:

/opt/gcc-4.7.3/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_FORCE_NEW
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

如何强制安装程序查看较新版本的 libstdc++.so.6?

【问题讨论】:

  • 请参阅this thread,了解更多关于您正在尝试做什么的观点。 CentOS 在设计上就是一个软件博物馆。

标签: linux google-chrome centos6 libstdc++


【解决方案1】:

RPM 只知道由 RPM 安装并在 RPMDB 中注册的软件。在任意位置安装其他版本的软件并不意味着 RPM 知道。

您的选择是通过 RPM 安装较新的 GCC 或使用 --nodeps 选项安装 chrome,该选项告诉 RPM 不要检查依赖项。如果您选择第二种方法,那么您有责任确保在运行时找到库,例如通过设置LD_LIBRARY_PATH 或其他一些方法,例如将目录添加到ldconfig 缓存中。

【讨论】:

    猜你喜欢
    • 2012-05-13
    • 1970-01-01
    • 2018-12-20
    • 2017-11-27
    • 2014-04-28
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多