libawt_xawt.so: libXext.so.6: nie można otworzyć pliku obiektu współdzielonego: brak takiego pliku lub katalogu

13
Wyjątek w wątku „main” java.lang.UnsatisfiedLinkError: /usr/lib/java/jdk1.8.0_60/jre/lib/i386/libawt_xawt.so: libXext.so.6: nie można otworzyć pliku obiektu współdzielonego: brak takiego pliku lub informator
    at java.lang.ClassLoader $ NativeLibrary.load (Metoda rodzima)
    at java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1938)
    at java.lang.ClassLoader.loadLibrary (ClassLoader.java:1821)
    at java.lang.Runtime.load0 (Runtime.java:809)
    w java.lang.System.load (System.java:1086)
    at java.lang.ClassLoader $ NativeLibrary.load (Metoda rodzima)
    at java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1938)
    at java.lang.ClassLoader.loadLibrary (ClassLoader.java:1842)
    at java.lang.Runtime.loadLibrary0 (Runtime.java:870)
    w java.lang.System.loadLibrary (System.java:1122)
    na java.awt.Toolkit $ 3.run (Toolkit.java:1636)
    na java.awt.Toolkit $ 3.run (Toolkit.java:1634)
    at java.security.AccessController.doPrivileged (metoda rodzima)
    at java.awt.Toolkit.loadLibraries (Toolkit.java:1633)
    at java.awt.Toolkit. (Toolkit.java:1668)
    at java.awt.Component. (Component.java:593)
    na EventTest. (EventTest.java:28)
    na EventTest.main (EventTest.java:49)
Ankit_Chaudhary
źródło

Odpowiedzi:

12

Sprawdź, która paczka zawiera plik i zainstaluj go:

$ 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 

Więc zainstaluj libxext6:

sudo apt install libxext6
JdeHaan
źródło
proszę pana, ta metoda nie działa
Ankit_Chaudhary,
Która część? Plik apt czy apt install?
JdeHaan
sir mam na myśli, że wyżej wymieniony błąd nie został
naprawiony
Czy plik rzeczywiście tam jest? sudo find / -name 'libXext *'
JdeHaan
1
Równie dobrze może występować konflikt wersji w wersji 32-bitowej i 64-bitowej. Sprawdź to pytanie na stackoverflow: stackoverflow.com/questions/24543014/...
JdeHaan
11
apt-get install libxrender1:i386 libxtst6:i386 libxi6:i386

pomógł mi rozwiązać ten problem.

Zainstalowałem w systemie 64-bitowym również i386.

użytkownik613150
źródło
3
To działało dla mnie, gdy inne odpowiedzi nie. Dzięki.
program kodujący
Z pewnością jest to poprawna odpowiedź, jeśli używasz JRE w wersji i386 lub innego oprogramowania zależnego od tego zestawu bibliotek. Zawsze musisz dopasować architekturę między środowiskiem uruchomieniowym a bibliotekami współdzielonymi.
stamster
9

Musiałem zainstalować to (na Ubuntu 16.04 64 bit), aby oracle-jdk8 działał:

sudo apt-get install libxrender1 libxtst6 libxi6
TmTron
źródło
Nie wiem co, ale to rozwiązało moje problemy po wypróbowaniu setek innych apt install bez względu na polecenia z innych odpowiedzi!
team17