【发布时间】:2013-07-13 07:47:39
【问题描述】:
在 Linux 32 位 Ubuntu 11 上生成了一个可执行文件,并在 32 位 Ubuntu 10 上对其进行了测试,但由于找不到“GLIBC_2.15”而失败。
【问题讨论】:
在 Linux 32 位 Ubuntu 11 上生成了一个可执行文件,并在 32 位 Ubuntu 10 上对其进行了测试,但由于找不到“GLIBC_2.15”而失败。
【问题讨论】:
Cyrhon 常见问题解答部分说:
在 Linux 下,我得到与 libc 相关的运行时动态链接器错误。我该怎么办? PyInstaller 构建的可执行文件不是 完全静态的,因为它仍然依赖于系统 libc。在下面 Linux,GLIBC的ABI向后兼容,但不向前 兼容的。因此,如果您链接到较新的 GLIBC,则无法运行 在旧系统上生成可执行文件。提供的二进制文件 引导加载程序应该适用于较旧的 GLIBC。但是,libpython.so 和 其他动态库仍然依赖于较新的 GLIBC。解决方案 是用它的模块编译 Python 解释器(以及 可能是引导加载程序)在你周围最古老的系统上,所以它 与最旧版本的 GLIBC 链接。
和
如何让最新的 Python 环境在旧的 Linux 发行版上运行? 问题是 Python 及其模块必须 针对较旧的 GLIBC 编译。另一个问题是你可能想要 要使用最新的 Python 功能,并且在旧的 Linux 发行版上,有 仅适用于真正旧的 Python 版本(例如在 Centos 5 上是 可用的 Python 2.4)。
【讨论】: