代码之家  ›  专栏  ›  技术社区  ›  Govan

基于uClinux的Java更新

  •  1
  • Govan  · 技术社区  · 8 年前

    我想为我们的uClinux产品ToJava 8更新Java。问题在于,来自7版和更高版本的Java似乎依赖于GLYBC-2.4,并且安装的GLYBC版本是2.3.6。 在终端运行Java版本时,我得到了这个消息:

    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工具cain(2.3.6)使用的glibc版本相同。

    最后一个问题是,Java 8是否也依赖Linux内核版本?目前我们使用的内核版本是Linux2.6.24。我看见了 here 嵌入Java需要Linux内核2.628或更高。 我们在Java SE中有相同的依赖性吗?

    谢谢你的帮助

    1 回复  |  直到 8 年前
        1
  •  3
  •   Florian Weimer    8 年前

    根据 README-builds.html ,openjdk 8是在fedora 9上构建的,它有glibc 2.8(加上backports)。所以你至少应该升级到glibc的那个版本。(即使fedora 9用作构建环境,但这并不意味着要支持 跑步 与最初的Fedora9内核相比。)

    在内核方面,openjdk 8仍然支持red hat enterprise linux 5,它使用了linux 2.6.18和许多后端端口,其中一些端口覆盖了linux2.6.24之后添加的新特性。我不记得openjdk是否使用了这些 O_CLOEXEC 支持率可能是一个候选人)。