簡體   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

我已經在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)

它是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

我已經將WebStorm-143.382.36.Webstorm11目錄從我的x86_64機器復制到了Odroid C2。

但是,當我嘗試啟動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

如何為aarch64獲取libjnidispatch.so ,或者如何解決此錯誤?

當我在x86_64機器上運行WebStorm時,該文件存在。

此錯誤有根本原因嗎?

無法按照您描述的方式移植安裝。 您將不得不再次使用JetBrains的人員使用的編譯器的aarch64變體重新編譯WebStorm。

失敗原因:

  1. 與WebStorm打包在一起的預編譯二進制文件(如libjnidispatch.so)很可能以類似方式失敗
  2. 您正在運行無頭的Java實例(根據您的評論)
  3. WebStorm可能已針對其目標平台和體系結構進行了優化。 因此,將其復制到其他硬件並運行它是不可能的

可能有效的解決方案(不太可能):

  1. 重新編譯所有預編譯的二進制文件。 封閉源產品不可能
  2. 重新安裝帶有GUI組件的另一個JDK。 您的系統可能無法處理繁重的任務,這就是您的模型附帶無頭版本的Java的原因

解決方案:最好的選擇(遠景-aarch64中沒有市場)是要求JetBrains將軟件移植到aarch64。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM