libawt_xawt.so: libXext.so.6: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type

13
Exception dans le thread "principal" java.lang.UnsatisfiedLinkError: /usr/lib/java/jdk1.8.0_60/jre/lib/i386/libawt_xawt.so: libXext.so.6: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou annuaire
    à java.lang.ClassLoader $ NativeLibrary.load (méthode native)
    à java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1938)
    à java.lang.ClassLoader.loadLibrary (ClassLoader.java:1821)
    à java.lang.Runtime.load0 (Runtime.java:809)
    sur java.lang.System.load (System.java:1086)
    à java.lang.ClassLoader $ NativeLibrary.load (méthode native)
    à java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1938)
    à java.lang.ClassLoader.loadLibrary (ClassLoader.java:1842)
    sur java.lang.Runtime.loadLibrary0 (Runtime.java:870)
    sur java.lang.System.loadLibrary (System.java:1122)
    à java.awt.Toolkit $ 3.run (Toolkit.java:1636)
    à java.awt.Toolkit $ 3.run (Toolkit.java:1634)
    à java.security.AccessController.doPrivileged (méthode native)
    sur java.awt.Toolkit.loadLibraries (Toolkit.java:1633)
    sur java.awt.Toolkit. (Toolkit.java:1668)
    sur java.awt.Component. (Component.java:593)
    à EventTest. (EventTest.java:28)
    sur EventTest.main (EventTest.java:49)
Ankit_Chaudhary
la source

Réponses:

12

Vérifiez quel package contient le fichier et installez-le:

$ 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 

Alors installez libxext6:

sudo apt install libxext6
JdeHaan
la source
monsieur, cette méthode ne fonctionne pas
Ankit_Chaudhary
Quelle partie? Le fichier apt ou apt install?
JdeHaan
monsieur je veux dire l'erreur mentionnée ci-dessus n'est pas rectifiée par cette méthode
Ankit_Chaudhary
Alors, le fichier est-il réellement là? sudo find / -name 'libXext *'
JdeHaan
1
Cela pourrait très bien être un conflit de version en 32 bits contre 64 bits. Veuillez consulter cette question sur stackoverflow: stackoverflow.com/questions/24543014/…
JdeHaan
10
apt-get install libxrender1:i386 libxtst6:i386 libxi6:i386

m'a aidé à résoudre ce problème.

J'ai installé dans un système 64 bits également i386.

user613150
la source
3
Cela a fonctionné pour moi là où les autres réponses ne le seraient pas. Merci.
un codeur
Pour sûr, c'est la bonne réponse si vous utilisez la version i386 de JRE ou tout autre logiciel qui dépend de cet ensemble de bibliothèques. Vous devez toujours faire correspondre l'architecture entre le runtime et les bibliothèques partagées.
stamster
9

J'ai dû installer ceci (sur ubuntu 16.04 64 bits) pour faire fonctionner oracle-jdk8:

sudo apt-get install libxrender1 libxtst6 libxi6
TmTron
la source
Je ne sais pas quoi, mais cela a résolu mes problèmes après avoir essayé des centaines d'autres apt installer toutes les commandes d'autres réponses!
team17