web-dev-qa-db-ja.com

エラー:libXext.so.6:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません

Odsファイルを開こうとするJavaファイルを実行すると、以下のエラーが表示されます。

スレッド「メイン」の例外Java.lang.UnsatisfiedLinkError:/opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so:libXext.so.6:共有オブジェクトファイルを開けません:そのようなファイルまたはJava.lang.ClassLoader $ NativeLのディレクトリ

私は試した - 'yum install libXext'が、メッセージを取得しました-すでにインストールされています。

助言がありますか?

回答:

libXstst.so.6をインストールし、正常に動作します。

7
Green

私の場合、追加のライブラリをインストールする必要がありました。

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

まず、次のコマンドを使用してみてください。

yum search libXext

この検索の後、次のライブラリをインストールする必要があることがわかります:libXext.i686(または最も可能性の高いlibXext.i386)。この後、次を実行できます。

Sudo yum install libXext.i686

副次的な注意として、私はJavaアプリケーションを正しく動作させるために次のライブラリをインストールする必要がありました:libXrender.i686およびlibXtst.i686。この問題は、ユーザーがJava 64ビットOS上の32ビットバージョンを使用しようとしているという事実。

6
sanelli

CentOsが64ビットで、32ビットjdkをインストールした場合、64ビットsystem.32ビットjdkをインストールした可能性があると思います。 jarを実行するとそのエラーが発生します

centOsが32ビットまたは64ビットであることを確認するには、コマンドを入力します。

getconf LONG_BIT

CentOsが64ビットの場合、32ビットjdkを削除して、新しいjdkをインストールできます。

2
liudabao

Archの場合、pkgfile(pacmanでインストールしたもの)を使用して実行しました。

    pkgfile --update
    pkgfile libXtst.so.6

そして、extra/libxtstが表示されました。

私はpacmanでインストールしましたが、これまでのところは良好です。

0
danielpflood
  1. fileコマンドを使用して、32ビットファイルか64ビットファイルかを確認します/opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so出力は次のようになります。

    ELF 32ビットLSB実行可能ファイル

  2. 次に、32ビットの対応するライブラリをインストールします。

    Sudo yum install libXext.i686

    64ビットの場合:

    Sudo yum install libXext

0
tzJacky