【发布时间】:2018-05-31 14:40:15
【问题描述】:
我想将我们的 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 工具链构建自2006 年以来未更新的uClinux 映像,它支持的最新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 中是否有相同的依赖关系?
感谢您的帮助
【问题讨论】:
-
Java 虚拟机不依赖于内核版本,它们通常是为特定的处理器-O/S 组合构建的,不依赖于任何一个的版本。它们确实依赖于少数特定于操作系统的库,例如 libc。
标签: java java-8 embedded-linux glibc uclinux