2016-03-22 30 views
8

Z powodzeniem zainstalowałem Javę na urządzeniu Aarch64 Odroid C2.Uruchamianie WebStorm-143.382.36 na Javie 1.8.0_73 na aarch64 Odroid C2 kończy się niepowodzeniem na libjnidispatch.so

[email protected]:~/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) 

Jest to 64-bitowa Java.

[email protected]:~/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 

mam skopiowane WebStorm-143.382.36 i .Webstorm11 katalogi z mojego komputera x86_64 do Odroid C2.

Ale gdy próbuję uruchomić WebStorm zawiedzie:

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 

Jak można dostać libjnidispatch.so dla aarch64, lub w jaki sposób mogę rozwiązać ten problem?

Ten plik jest nie obecny, gdy uruchomię WebStorm na moim komputerze x86_64.

Czy istnieje przyczyna tego błędu?

+0

Zbudowałem jni ze źródła używając ant, i zastąpiłem plik jni.jar Webstorma tym nowym. To pozbyło się błędu związanego z JNA. Pozostaje mi jeszcze błąd "Błąd uruchamiania: aplikacja nie może uruchomić się w trybie bezgłowym". – fadedbee

+0

Zobacz także: https://youtrack.jetbrains.com/issue/IDEA-163516 – fadedbee

+0

Wydaje się, że masz (bezgłowy instancji java) [https://blog.idrsolutions.com/2013/08/what-is- headless-mode-in-java/ ] tj. bez komponentów GUI. Spróbuj zainstalować instancję Java z komponentami GUI, czyli bezgłową wersją –

Odpowiedz

1

Nie można podłączyć instalacji w opisany sposób. Będziesz musiał ponownie skompilować WebStorm przy użyciu wariantów anarch64 kompilatorów używanych przez ludzi w JetBrains.

Przyczyny awarii:

  1. skompilowane programy (takie jak libjnidispatch.so) pakowane z WebStorm mogą zawieść w podobny sposób
  2. Twój prowadzenie bezgłowe instancji Java (z twoich komentarzy)
  3. WebStorm może być zoptymalizowany pod kątem docelowej platformy i architektury. Więc kopiując go do innego sprzętu i działa to niemożliwe

Rozwiązania, które mogą działać (nie-zlecenie):

  1. Przekompiluj wszystkie skompilowane pliki binarne. Niemożliwe dla ofert o zamkniętym kodzie
  2. Zainstaluj ponownie inny JDK z komponentami GUI. Twój system może nie być w stanie obsługiwać intensywne zadania i które byłyby powodem model wyposażony jest bezgłowy wersji java

rozwiązanie: Najprościej (długi strzał - nie ma na rynku w aarch64) będzie poproś JetBrains o przeniesienie oprogramowania do aarch64.