我正在尝试运行应用,但我得到了
...
/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
...
当我做"字符串/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
...
我似乎没有找到一个关于如何安装缺少的libs /文件/依赖项的简单教程,(或Centos 6.5或其他任何东西)。
有人可以解释如何安装Centos上可能缺少的东西吗?
答案 0 :(得分:2)
有人可以解释如何安装Centos上可能缺少的东西吗?
您需要glibc >= 2.15
和libstdc++ >= 3.4.15
。
在理论中,安装例如系统上的glibc-2.19
应该可以工作(glibc提供了向后的二进制兼容性),但是this message表明你不会为你的操作系统找到这样的升级的标准包。
相反,您必须安装第二个版本的glibc,如documented here,并通过二进制修补编译到应用程序中的加载器重定向您的应用程序以使用该版本,或者在chroot中运行您的应用程序(你可以在哪里安装你喜欢的任何版本的glibc。
类似的注意事项也适用于libstdc++.so.6
,除非您不必将其安装到固定位置 - 您可以在任何地方安装较新的副本,并将LD_LIBRARY_PATH
指向它。
您最终(也是最简单)的替代方案是构建您尝试从源代码运行的应用程序,或者为您的分发获取预构建的二进制文件(不需要比您拥有的库更新的库)。