测试系统
- 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