首页 > 解决方案 > /lib64/libc.so.6:未找到版本“GLIBC_2.14” - 使用 pyinstaller 构建应用程序时出错

问题描述

我曾经pyinstaller构建我的 python 脚本以作为独立应用程序运行,而不依赖于 python 安装或模块安装。但是现在我在我的构建应用程序的不同服务器中收到 /lib64/libc.so.6: version `GLIBC_2.14' not found (required by) 错误。

我已经阅读了互联网上的建议,我需要更新 glibc 版本,或者我应该根据服务器版本重新编译。但这在我的情况下是不可能的,这就是我用 pyinstaller 构建独立应用程序的原因。

请提出解决方案。我需要在“n”个服务器中运行此应用程序,因此无法升级 glibc。有没有办法在构建包中添加这个库文件?

标签: pythonlinuxdebianpyinstallerglibc

解决方案


但在我的情况下这是不可能的

是的。

您必须构建应用程序以匹配所需的目标环境,或者必须使目标环境满足您构建的应用程序的要求。

使应用程序匹配目标环境的一种方法是在匹配目标的 chroot 或 docker 容器中构建它。

这就是我使用 pyinstaller 构建独立应用程序的原因。

不是在构建“独立”应用程序。您正在构建依赖于 GLIBC-2.14 的东西,并试图在没有该(或更新)版本的 GLIBC 的系统上运行它。

我需要在“n”个服务器中运行此应用程序,因此无法升级 glibc

是的。您在古老的 GLIBC 版本(2.14 版于 2011 年发布)上运行您的应用程序。从那时起,已经发现并修复了许多 CVE。通过继续使用旧版本,您使您的公司面临重大风险。


推荐阅读