web-dev-qa-db-fra.com

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

Je reçois le message d'erreur ci-dessous lors de l'exécution d'un fichier Java qui tente d'ouvrir un fichier ods.

Exception dans le thread "principal" Java.lang.UnsatisfiedLinkError: /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so: libXext.so.6: impossible d'ouvrir un fichier objet partagé: aucun fichier Répertoire sur Java.lang.ClassLoader $ NativeL

J'ai essayé - 'yum install libXext' mais le msg - est déjà installé.

Aucune suggestion?

Réponse:

est-ce que vous devez installer libXstst.so.6 Il s’installe et fonctionne bien

5
Green

Dans mon cas, je devais installer des bibliothèques supplémentaires. 

yum install libXext.x86_64
yum install libXrender.x86_64
yum install libXtst.x86_64
10
user3018906

Tout d'abord, vous pouvez essayer d'utiliser la commande suivante:

yum search libXext

Après cette recherche, vous constaterez que vous devez installer la bibliothèque suivante: libXext.i686 (ou très probablement libXext.i386). Après cela, vous pouvez lancer:

Sudo yum install libXext.i686

Par ailleurs, je devais également installer les bibliothèques suivantes pour que mon application Java fonctionne correctement: libXrender.i686 et libXtst.i686. Je pense que ce problème est dû au fait que nous essayons d’utiliser une version Java 32 bits sur un système d’exploitation 64 bits.

6
sanelli

Je pense que vous pouvez installer jdk 32 bits dans un système 64 bits. Si votre CentOs est 64 bits et que vous avez installé jdk 32 bits. Vous obtiendrez cette erreur lorsque vous exécuterez jar

vous pouvez vérifier que CentOs est 32 bits ou 64 bits, entrez la commande suivante:

getconf LONG_BIT

Si le CentOs est en 64 bits, vous pouvez supprimer le jdk 32 bits et en installer un nouveau.

1
liudabao

Pour Arch, j'ai utilisé pkgfile (que j'ai installé avec pacman) puis exécuté:

    pkgfile --update
    pkgfile libXtst.so.6

et il m'a montré extra/libxtst.

Je l'ai installé avec pacman et jusqu'ici tout va bien.

0
danielpflood
  1. utilisez la commande file pour voir s'il s'agit d'un fichier 32 bits ou 64 bits Le fichier /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.soits devrait ressembler:

    Exécutable LSF ELF 32 bits

  2. puis installez la lib .__ correspondante pour 32 bits:

    Sudo yum install libXext.i686

    pour 64 bits:

    Sudo yum install libXext

0
tzJacky