简体   繁体   English

在aarch64 Odroid C2上的Java 1.8.0_73上运行WebStorm-143.382.36在libjnidispatch.so上失败

[英]Running WebStorm-143.382.36 on Java 1.8.0_73 on aarch64 Odroid C2 fails on libjnidispatch.so

I've successfully installed Java on the aarch64 Odroid C2. 我已经在aarch64 Odroid C2上成功安装了Java。

odroid@odroid64:~/WebStorm-143.382.36$ java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

It is the 64 bit Java. 它是64位Java。

odroid@odroid64:~/WebStorm-143.382.36$ file /usr/lib/jvm/java-8-oracle/jre/bin/java
/usr/lib/jvm/java-8-oracle/jre/bin/java: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=72df68d7109e243051d4d4a7126fa84269c7c518, not stripped

I have copied the WebStorm-143.382.36 and .Webstorm11 directories from my x86_64 machine to the Odroid C2. 我已经将WebStorm-143.382.36.Webstorm11目录从我的x86_64机器复制到了Odroid C2。

But when I try to start WebStorm it fails: 但是,当我尝试启动WebStorm时,它失败了:

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0
log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[   2013]  ERROR -        #com.intellij.idea.Main - Unable to load JNA library (OS: Linux 3.14.29-29) 
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-aarch64/libjnidispatch.so) not found in resource path (bin/../lib/bootstrap.jar:bin/../lib/extensions.jar:bin/../lib/util.jar:bin/../lib/jdom.jar:bin/../lib/log4j.jar:bin/../lib/trove4j.jar:bin/../lib/jna.jar)
    at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:776)
    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:736)
    at com.sun.jna.Native.<clinit>(Native.java:131)
    at com.intellij.idea.StartupUtil.b(StartupUtil.java:316)
    at com.intellij.idea.StartupUtil.prepareAndStart(StartupUtil.java:112)
    at com.intellij.idea.MainImpl.start(MainImpl.java:39)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.ide.plugins.PluginManager$2.run(PluginManager.java:90)
    at java.lang.Thread.run(Thread.java:745)
[   1803]  ERROR -        #com.intellij.idea.Main - WebStorm 11.0.1  Build #WS-143.382.36 
[   1803]  ERROR -        #com.intellij.idea.Main - JDK: 1.8.0_73 
[   1803]  ERROR -        #com.intellij.idea.Main - VM: Java HotSpot(TM) 64-Bit Server VM 
[   1804]  ERROR -        #com.intellij.idea.Main - Vendor: Oracle Corporation 
[   1804]  ERROR -        #com.intellij.idea.Main - OS: Linux

Startup Error: Application cannot start in headless mode

How can get libjnidispatch.so for aarch64, or how can I work around this error? 如何为aarch64获取libjnidispatch.so ,或者如何解决此错误?

That file is not present when I run WebStorm on my x86_64 machine. 当我在x86_64机器上运行WebStorm时,该文件存在。

Is there a root cause to this error? 此错误有根本原因吗?

It is not possible to port installations in the way you have described. 无法按照您描述的方式移植安装。 You would have to again recompile WebStorm using the aarch64 variants of the compilers used by the folks at JetBrains. 您将不得不再次使用JetBrains的人员使用的编译器的aarch64变体重新编译WebStorm。

Reasons for failure: 失败原因:

  1. Pre-compiled binaries (like libjnidispatch.so) packaged with WebStorm are likely to fail in a similar fashion 与WebStorm打包在一起的预编译二进制文件(如libjnidispatch.so)很可能以类似方式失败
  2. Your running a headless instance of Java (from your comments) 您正在运行无头的Java实例(根据您的评论)
  3. WebStorm is likely to be optimized for its target platform and architecture. WebStorm可能已针对其目标平台和体系结构进行了优化。 So copying it to other hardware and running it is impossible 因此,将其复制到其他硬件并运行它是不可能的

Solutions that may work (not-likely): 可能有效的解决方案(不太可能):

  1. Recompile all pre-compiled binaries. 重新编译所有预编译的二进制文件。 Impossible for closed-source offerings 封闭源产品不可能
  2. Reinstall another JDK with GUI components. 重新安装带有GUI组件的另一个JDK。 Your system might not be able to handle intensive tasks and that would be the reason your model comes with a headless version of java 您的系统可能无法处理繁重的任务,这就是您的模型附带无头版本的Java的原因

Solution: Your best bet (a long shot -- no market in aarch64) would be to ask JetBrains to port the software to aarch64. 解决方案:最好的选择(远景-aarch64中没有市场)是要求JetBrains将软件移植到aarch64。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在资源路径中找不到本机库(com / sun / jna / android-aarch64 / libjnidispatch.so) - Native library (com/sun/jna/android-aarch64/libjnidispatch.so) not found in resource path Java 1.8.0_73的新功能-无法识别Javac命令 - New to java 1.8.0_73 - Javac command not recognized UnsatisfiedLinkError:在资源路径 (.) 中找不到本机库 (com/sun/jna/android-x86-64/libjnidispatch.so) - UnsatisfiedLinkError: Native library (com/sun/jna/android-x86-64/libjnidispatch.so) not found in resource path (.) android-arm/libjnidispatch.so 未找到错误 - android-arm/libjnidispatch.so not found error com / sun / jna / android-arm / libjnidispatch.so在资源路径中找不到 - com/sun/jna/android-arm/libjnidispatch.so not found in resource path 在资源路径中找不到 JNA 原生支持 (/com/sun/jna/linux-arm/libjnidispatch.so) - JNA native support (/com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path Eclipse aarch64 和 OpenJDK (ARM) - Eclipse aarch64 and OpenJDK (ARM) 是否可以在 AArch64 计算机中编写执行 FMOV 指令的 Java 程序? - Is it possible to write a Java program which executes the FMOV instruction in an AArch64 computer? 不满意的linkerror aarch64三星银河S6 - Unsatisfied linkerror aarch64 Samsung Galaxy S6 C2中的CompilerThread - C2 CompilerThread in java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM