我在 Linux 上分发我的应用程序的静态链接二进制版本。但是,在具有 2.4 内核的系统上,我在启动时遇到段错误,并显示消息:“致命:内核太旧。”
我怎样才能轻松地启动并运行 2.4 内核的版本?我需要的一些库在大约 2003 年的旧 Linux 发行版上什至不可用。是否有 apt-get 安装或其他东西可以让我轻松地针对旧内核?
最佳答案
最简单的方法是简单地安装VirtualBox (或类似的东西,例如 VMWare),安装 CentOS 3或具有 2.4 内核的任何合适的旧发行版,并在其上构建/测试您的应用程序。
由于您获得的“内核太旧”,您可能依赖于 2.4 内核中不存在的某些功能,因此您必须追查并重新处理它。 该错误可能只是由静态链接到 glibc 引起的,您可以尝试动态链接到 glibc 并静态链接到所有其他库,但要向后兼容,您必须在旧的 glibv 系统上构建您的应用程序。使用 lsb构建工具也有帮助
关于linux - 如何为旧的 Linux 发行版构建应用程序,并避免 fatal error : kernel too old error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2079717/