在 uClinux 上更新 java

Updating java on uClinux

我想将我们的 uClinux 产品的 Java 更新为 java 8。问题是版本 7 和更高版本的 Java 似乎是依赖于 glibc-2.4,安装的 glibc 版本是 2.3.6。 虽然 运行 java -version 在终端中我收到此消息:

Error: dl failure on line 893
Error: failed /usr/java/jre/lib/i386/client/libjvm.so, because /lib/libc.so.6: version `GLIBC_2.4' not found (required by /usr/java/jre/lib/i386/client/libjvm.so)

我们正在使用 crosstool 工具链构建 uClinux 映像,该映像自 2006 年以来未更新,其支持的最新 glibc 是 glibc 2.3.6。 我想知道我是否可以将 uClinux glibc 库更新到 2.4。是否有可能某些应用程序无法使用较新版本的 glibc? 另一个问题是我们是否需要与 crosstool toolcain (2.3.6) 使用相同版本的 glibc。

最后一个问题是 java 8 是否也依赖于 linux 内核版本?目前我们使用的内核版本是linux 2.6.24。我看到 here 嵌入 java 需要 linux 内核 2.6.28 或更高版本。 我们在 java se 中有相同的依赖关系吗?

感谢帮助

根据 README-builds.html,OpenJDK 8 构建于 Fedora 9 之上,Fedora 9 具有 glibc 2.8(加上向后移植)。所以你应该至少升级到那个版本的 glibc。 (尽管 Fedora 9 被用作构建环境,但这并不意味着其目的是支持 运行 反对原始的 Fedora 9 内核。)

内核方面,OpenJDK 8 仍然支持 Red Hat Enterprise Linux 5,它使用 Linux 2.6.18 加上许多很多反向移植,其中一些涵盖了 [=19 之后添加的新功能=] 2.6.24。我不记得 OpenJDK 是否使用其中任何一个(O_CLOEXEC 支持可能是候选者)。