【问题标题】:GLIBCXX_3.4.15, GLIBC_2.15 and GLIBC_2.14 not found - Centos 6.5未找到 GLIBCXX_3.4.15、GLIBC_2.15 和 GLIBC_2.14 - Centos 6.5
【发布时间】:2014-08-31 00:25:24
【问题描述】:

我正在尝试运行一个应用程序,但我得到了

...
/usr/lib64/libstdc++.so.6: VERSION 'GLIBCXX_3.4.15' not found
/lib64/libc.so.6: VERSION 'GLIBC_2.15' not found
/lib64/libc.so.6: VERSION 'GLIBC_2.14' not found
...

当我执行“strings /usr/lib64/libstdc++.so.6 | grep GLIBC”时,我得到一个正常的列表...

...
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
...
GLIBCXX_3.4.13
GLIBCXX_2.2.5
GLIBCXX_2.3.2
...

我似乎没有找到关于如何安装缺少的库/文件/依赖项(或 Centos 6.5 或其他任何东西)的简单教程。

有人可以解释如何安装 Centos 上可能缺少的任何东西吗?

【问题讨论】:

  • 如果您无法安装/升级该版本,请从 docker 获取 centos box 并在其中运行。

标签: glibc centos6


【解决方案1】:

有人可以解释如何安装 Centos 上可能缺少的任何东西吗?

您需要glibc >= 2.15libstdc++ >= 3.4.15

theory 中,安装例如系统上的glibc-2.19 应该可以工作(glibc 提供向后的二进制兼容性),但this message 建议您找不到适合您的操作系统的标准包进行这样的升级。

相反,您必须安装 glibc 的第二个版本,如 documented here,并通过对编码到应用程序中的加载程序进行二进制修补来重定向您的应用程序以使用该版本,或者在 chroot 中运行您的应用程序(您在可以安装任何你喜欢的 glibc 版本)。

类似的注意事项也适用于libstdc++.so.6,但您不必将其安装到固定位置——您可以在任何地方安装较新的副本,并将LD_LIBRARY_PATH 指向它。

您的最后一个(也是最简单的)替代方案是构建您尝试从源代码运行的应用程序,或者为您的发行版获取一个预构建的二进制文件(一个不需要比您拥有的新库的库)。

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 2012-10-25
    • 2015-11-25
    • 2018-05-04
    • 2021-01-06
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多