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をインストールし、正常に動作します。
私の場合、追加のライブラリをインストールする必要がありました。
yum install libXext.x86_64
yum install libXrender.x86_64
yum install libXtst.x86_64
まず、次のコマンドを使用してみてください。
yum search libXext
この検索の後、次のライブラリをインストールする必要があることがわかります:libXext.i686(または最も可能性の高いlibXext.i386)。この後、次を実行できます。
Sudo yum install libXext.i686
副次的な注意として、私はJavaアプリケーションを正しく動作させるために次のライブラリをインストールする必要がありました:libXrender.i686およびlibXtst.i686。この問題は、ユーザーがJava 64ビットOS上の32ビットバージョンを使用しようとしているという事実。
CentOsが64ビットで、32ビットjdkをインストールした場合、64ビットsystem.32ビットjdkをインストールした可能性があると思います。 jarを実行するとそのエラーが発生します
centOsが32ビットまたは64ビットであることを確認するには、コマンドを入力します。
getconf LONG_BIT
CentOsが64ビットの場合、32ビットjdkを削除して、新しいjdkをインストールできます。
Archの場合、pkgfile(pacmanでインストールしたもの)を使用して実行しました。
pkgfile --update
pkgfile libXtst.so.6
そして、extra/libxtstが表示されました。
私はpacmanでインストールしましたが、これまでのところは良好です。
fileコマンドを使用して、32ビットファイルか64ビットファイルかを確認します/opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so出力は次のようになります。
ELF 32ビットLSB実行可能ファイル
次に、32ビットの対応するライブラリをインストールします。
Sudo yum install libXext.i686
64ビットの場合:
Sudo yum install libXext