我需要在 CentOS 7 上编译和运行二进制文件,但由于 Python 版本和其他问题,我很难运行我的包装应用程序。如果我在 Ubuntu(或任何其他发行版)上编译和测试二进制文件,然后将我的二进制文件移至在线 CentOS 7,我会遇到任何二进制文件平台问题吗?
PS:我运行的二进制文件是 Google 的 cwebp 和 ImageMagick。我的包装器是 AWS Lambda 的节点函数。
答案1
简短的回答是,一个系统中的二进制文件不能保证在另一个系统上正确运行,但它们可能会工作。它们也可能看似有效,但存在问题。
更长的答案是,这取决于这些二进制文件的链接方式。静态链接的二进制文件比动态链接的二进制文件有更好的运行机会。动态链接的二进制文件将具有许多依赖关系,而不同的发行版可能无法满足这些依赖关系。
在您的特定情况下,最好的选择是创建 CentOS 7 虚拟机或容器并在其中创建二进制文件。如果可以的话,生成静态链接的二进制文件,然后将它们部署到受限生产系统。