gpt4 book ai didi

java - 错误的 ELF 类 : ELFCLASS32

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:41 30 4
gpt4 key购买 nike

当我在 Solaris 机器上运行我的应用程序时,我收到指向某个 .so 文件的错误。但是,该应用程序在我的 Windows 机器上运行得很好。如果我没记错的话,我的应用程序需要 64 位版本,但我在 Solaris 机器上只有 32 位版本的 .so 文件。有什么办法可以解决这个问题,让它改用 32 位版本吗?我知道它与字节码无关,但可能与 JVM 无关。我尝试使用 -d32 或 -d64 运行,但没有效果。

更新:

这是确切的错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: librvjs11.so: ld.so.1: java: fatal: librvjs11.so: wrong ELF class: ELFCLASS32<br>
at java.lang.ClassLoader$NativeLibrary.load(Native Method)<br>
at java.lang.ClassLoader.loadLibrary0(Unknown Source)<br>
at java.lang.ClassLoader.loadLibrary(Unknown Source)<br>
at java.lang.Runtime.loadLibrary0(Unknown Source)<br>
at java.lang.System.loadLibrary(Unknown Source)<br>

我已经更新了 LD_LIBRARY_PATH,因此它包括包含上述文件的目录。

最佳答案

基于 the conversation in the other answer ,可以推断出JVM是一个64位进程。在 Solaris 中使用 pflags 命令确认了这一点。

显然传递给 JVM 的 -d32 标志被忽略了。这是因为 JVM 可能是 64 位的,无法在 32 位模式下运行。因此,解决方案可能是安装 32 位版本的 JVM,并使用它。

关于java - 错误的 ELF 类 : ELFCLASS32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6172105/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com