【问题标题】:Cross-compile on Centos 7 for Centos 6 system在 Centos 7 上为 Centos 6 系统交叉编译
【发布时间】:2017-12-20 18:03:08
【问题描述】:

我正在 Centos 7 上构建二进制 FOO(使用 glibc 2.14),我希望它在 Centos 6 上运行(只有 glibc 2.12

如果我在 Centos 6 系统上并行安装 glibc 2.14

https://unix.stackexchange.com/questions/176489/how-to-update-glibc-to-2-14-in-centos-6-5#299665

那么我需要做什么来运行FOO 和使用glibc 2.14 .so 库?

设置LD_LIBRARY_PATH 有帮助吗?

【问题讨论】:

    标签: cross-compiling centos7 centos6 glibc


    【解决方案1】:

    最简单的方法可能是从 EPEL 安装 mock 并构建 CentOS 6 chroot。这假设您已经将软件打包为 RPM 包。

    理论上可以将 glibc RPM 解压到一个新的目录树(不是/)并运行编译器和链接器,以使用这些文件而不是系统 glibc。但是,我不认为 CentOS 7 工具链是用 sysroot 支持构建的,所以这有点棘手。您可以从源代码构建 glibc 并查看它使用了哪些编译器和链接器调用,因为它存在相同的问题(像 localedef 这样的程序需要针对刚刚构建的 glibc 进行编译,而不是已经安装的)。

    【讨论】:

    • 谢谢。听起来不错。从那以后我决定放弃这个想法。
    猜你喜欢
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2015-10-16
    • 1970-01-01
    • 2020-06-23
    • 2020-10-25
    相关资源
    最近更新 更多