libawt_xawt.so: libXext.so.6: freigegebene Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

12
Ausnahme im Thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/java/jdk1.8.0_60/jre/lib/i386/libawt_xawt.so: libXext.so.6: Freigegebene Objektdatei kann nicht geöffnet werden: Keine solche Datei oder Verzeichnis
    at java.lang.ClassLoader $ NativeLibrary.load (native Methode)
    at java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1938)
    bei java.lang.ClassLoader.loadLibrary (ClassLoader.java:1821)
    at java.lang.Runtime.load0 (Runtime.java:809)
    bei java.lang.System.load (System.java:1086)
    at java.lang.ClassLoader $ NativeLibrary.load (native Methode)
    at java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1938)
    bei java.lang.ClassLoader.loadLibrary (ClassLoader.java:1842)
    at java.lang.Runtime.loadLibrary0 (Runtime.java:870)
    bei java.lang.System.loadLibrary (System.java:1122)
    at java.awt.Toolkit $ 3.run (Toolkit.java:1636)
    at java.awt.Toolkit $ 3.run (Toolkit.java:1634)
    at java.security.AccessController.doPrivileged (native Methode)
    at java.awt.Toolkit.loadLibraries (Toolkit.java:1633)
    at java.awt.Toolkit. (Toolkit.java:1668)
    bei java.awt.Component. (Component.java:593)
    bei EventTest. (EventTest.java:28)
    bei EventTest.main (EventTest.java:49)
Ankit_Chaudhary
quelle

Antworten:

11

Überprüfen Sie, welches Paket die Datei enthält, und installieren Sie sie:

$ apt-file search libXext.so.6 
libxext6: /usr/lib/x86_64-linux-gnu/libXext.so.6 
libxext6: /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
libxext6-dbg: /usr/lib/debug/usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 

Also installieren Sie libxext6:

sudo apt install libxext6
JdeHaan
quelle
Sir, diese Methode funktioniert nicht
Ankit_Chaudhary
Welcher Teil? Die apt-Datei oder apt-Installation?
JdeHaan
Sir, ich meine, der oben erwähnte Fehler wird durch diese Methode nicht
behoben
Ist die Datei tatsächlich vorhanden? sudo find / -name 'libXext *'
JdeHaan
1
Könnte sehr gut ein Versionskonflikt zwischen 32-Bit und 64-Bit sein. Bitte überprüfen Sie diese Frage auf stackoverflow: stackoverflow.com/questions/24543014/…
JdeHaan
9
apt-get install libxrender1:i386 libxtst6:i386 libxi6:i386

hat mir geholfen, das zu lösen.

Ich habe in einem 64-Bit-System auch i386 installiert.

user613150
quelle
3
Dies funktionierte für mich, wo die anderen Antworten nicht würden. Vielen Dank.
Ein Codierer
Dies ist sicher die richtige Antwort, wenn Sie die i386-Version von JRE oder eine andere Software ausführen, die von diesem Satz von Bibliotheken abhängt. Sie müssen die Architektur immer zwischen Laufzeit- und gemeinsam genutzten Bibliotheken abgleichen.
Stamster
8

Ich musste dies installieren (auf Ubuntu 16.04 64 Bit), damit oracle-jdk8 funktioniert:

sudo apt-get install libxrender1 libxtst6 libxi6
TmTron
quelle
Ich weiß nicht was, aber dies hat meine Probleme behoben, nachdem ich Hunderte anderer apt-Installationsbefehle aus anderen Antworten ausprobiert habe!
Team17