LoongArch64 (loong64) 龙芯架构:JDK 安装说明

测试系统

  • AnolisOS 龙蜥 23.4
  • 内核
    [root@anolis ~]# uname -a
    Linux anolis 6.6.102-5.3.3.an23.loongarch64 #1 SMP Tue May 26 14:00:16 CST 2026 loongarch64 loongarch64 loongarch64 GNU/Linux
    [root@anolis ~]# ldd --version
    ldd (GNU libc) 2.38
    Copyright (C) 2023 自由软件基金会。
    这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性
    或者适合某些特殊目的。
    由 Roland McGrath 和 Ulrich Drepper 编写。
    [root@anolis ~]# 
    

安装 JDK

遇见错误

  • 执行 ./bin/java 遇见错误

    [root@anolis jdk8u492-b09]# ./bin/java -version
    -bash: ./bin/java: 无法执行:找不到需要的文件
    [root@anolis jdk8u492-b09]# ll ./bin/java
    -rwxr-xr-x. 1 1001 1001 20368  5月 7日 09:20 ./bin/java
    [root@anolis jdk8u492-b09]# 
    

分析错误

  • 上述执行的可执行文件 java 存在,但是无法执行

使用 file 查看可执行文件的文件信息

[root@anolis jdk8u492-b09]# file ./bin/java
./bin/java: ELF 64-bit LSB pie executable, LoongArch, version 1 (SYSV), dynamically linked, interpreter /lib64/ld.so.1, for GNU/Linux 4.15.0, BuildID[sha1]=3b89afa69317c40deea6f943d1156ba0d4ca6383, not stripped
[root@anolis jdk8u492-b09]# 

提示需要 动态链接库/lib64/ld.so.1

查看是否存在 /lib64/ld.so.1

[root@anolis jdk8u492-b09]# ll /lib64/ld.so.1
ls: 无法访问 '/lib64/ld.so.1': 没有那个文件或目录
[root@anolis jdk8u492-b09]# 

使用 ldd 查看可执行文件的文件信息

[root@anolis jdk8u492-b09]# ldd bin/java
bin/java: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by bin/java)
bin/java: /lib64/libdl.so.2: version `GLIBC_2.27' not found (required by /srv/jdk8u492-b09/bin/../lib/loongarch64/jli/libjli.so)
bin/java: /lib64/libpthread.so.0: version `GLIBC_2.0' not found (required by /srv/jdk8u492-b09/bin/../lib/loongarch64/jli/libjli.so)
bin/java: /lib64/libpthread.so.0: version `GLIBC_2.3.3' not found (required by /srv/jdk8u492-b09/bin/../lib/loongarch64/jli/libjli.so)
bin/java: /lib64/libpthread.so.0: version `GLIBC_2.2' not found (required by /srv/jdk8u492-b09/bin/../lib/loongarch64/jli/libjli.so)
bin/java: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /srv/jdk8u492-b09/bin/../lib/loongarch64/jli/libjli.so)
        linux-vdso.so.1 (0x00007fffffb6c000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffff0b40000)
        libjli.so => /srv/jdk8u492-b09/bin/../lib/loongarch64/jli/libjli.so (0x00007ffff0b20000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007ffff0ad0000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ffff0890000)
        /lib64/ld.so.1 => /lib64/ld-linux-loongarch-lp64d.so.1 (0x00007ffff0b90000)
        ld.so.1 => not found
[root@anolis jdk8u492-b09]#

分析动态链接库同上

综合分析

根据上述内容和个人经验可知,执行可执行文件 ./bin/java 提示不正确,应该给的提示类似于 /lib64/ld.so.1: version 'GLIBC_2.27' not found

解决方案

  1. 下载使用 loongson8.1.27-fx-jdk8u492b09-linux-loongarch64-glibc2.34.tar.gz