我想将我们的 uClinux 产品的 Java 更新到 ojava 8。问题是,Java 版本 7 和更高版本似乎依赖于 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 加上许多很多向后移植,其中一些涵盖了 Linux 2.6.24 之后添加的新功能。我不记得 OpenJDK 是否使用了其中的任何一个(O_CLOEXEC
支持可能是一个候选者)。
关于java - 在 uClinux 上更新 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50626912/