无法在 Raspberry PI4 上执行 64 位库

Can't execute 64bit libs on Raspi PI4

我已经在我的 Raspi4 上激活了 64 位内核:

pi@pc:~ $ uname -a
Linux pc 5.10.63-v8+ #1496 SMP PREEMPT Wed Dec 1 15:59:46 GMT 2021 aarch64 GNU/Linux
pi@pc:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

我正在尝试在我的机器上 运行 最新 java 版本(原始 Oracle Arm 64 位版本)。虽然,运行尽管文件存在且可执行,但二进制文件会导致文件未找到错误:

pi@pc:~ $ /usr/lib/jvm/jdk-17.0.1/bin/java -version
bash: /usr/lib/jvm/jdk-17.0.1/bin/java: Datei oder Verzeichnis nicht gefunden
pi@pc:~ $ ls -la /usr/lib/jvm/jdk-17.0.1/bin/java
-rwxr-xr-x 1 root root 70856 Sep 27 19:45 /usr/lib/jvm/jdk-17.0.1/bin/java

只有 ldd 命令给出指示,程序未动态链接:

pi@pc:~ $ ldd /usr/lib/jvm/jdk-17.0.1/bin/java
    das Programm ist nicht dynamisch gelinkt

显示以下输出的文件命令:

pi@pc:~ $ file /usr/lib/jvm/jdk-17.0.1/bin/java
/usr/lib/jvm/jdk-17.0.1/bin/java: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, not stripped
pi@pc:~ $ file /usr/lib/jvm/jdk1.8-oracle-ARM32/bin/java
/usr/lib/jvm/jdk1.8-oracle-ARM32/bin/java: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.26, BuildID[sha1]=c61f921ef55f64705b9f360005fb2b77e4a81ac3, not stripped

我不是 C/C++ 编程方面的专家。有什么办法,可执行文件可以在我的 Raspi 上 运行?

/usr/lib 中肯定“无法执行 64 位库”- 正如路径所暗示的那样。

对于 ARM64 架构,我认为这应该是 /usr/lib64

我正在使用 64 位的自定义 Raspberry 映像。我也运行陷入这个问题。我正在使用 Raspios:https://downloads.raspberrypi.org/raspios_lite_arm64/images/

使用下一个映像,您可以在 PI 上安装 java 17。到目前为止 运行 Java jar 没有问题。