mat*_*975 8 versions shared-library kernel gcc 12.04
在阅读了我上一个问题的答案后,我得出的结论是,以下问题的答案正是我真正想要的:
特定版本的内核是否需要特定版本的 libc 才能正常运行?
基本上我的问题源于在我的 12.04 ubuntu 上构建应用程序并尝试在 8.04 上运行它。从那以后,我从这个和其他 stackexchange 论坛中了解到,导致这些问题的是 libc 的向后兼容性。因此,我可能天真地尝试做的是构建与我的目标上存在相同版本的 libc,然后在构建应用程序时链接到我的主机上。然后在理想的世界中,当我将其复制到主机时,已链接到“正确”的 libc,它应该可以工作(至少在我的脑海中)。我完全找不到在我的系统上安装旧 libc 的方法,并想知道每个版本是否都与内核版本紧密绑定,因此出现了上述问题。
小智 6
在某种程度上,它们彼此联系在一起。
因此,如果您要从 Ubuntu 存储库安装内核包和 libc 包,而不是自己编译它们,您就会陷入上述困境。
就 libc 而言,执行您建议的一种方法是从8.04 上的源代码编译 12.04 内核,从而将其与 8.04 libc 链接。然后使用该自定义内核启动 12.04,在此基础上编译 8.04 上的 libc 版本,同样来自源代码。你安装它,你的应用程序应该共享同一个旧的 8.04 libc。
我假设您也知道您的应用程序链接的任何其他 12.04 库可能在 8.04 中不可用,因此您也必须从源代码编译它们......
总而言之,最好只在 8.04 上编译。
归档时间: |
|
查看次数: |
4974 次 |
最近记录: |