JavaFXの使用に問題があり、次のページに投稿しました。スタックオーバーフロー。デフォルトでは、JavaライブラリはJPEGライブラリバージョン90を必要とする基本関数を呼び出します。エラーメッセージは次のとおりです。
java.io.IOException: Wrong JPEG library version: library is 62, caller expects 90
私が使用しようとしているJavaライブラリの以前のバージョン(JavaFX 11)にも、私のシステムで利用可能な最新バージョンのJPEGライブラリが必要であることが奇妙だと思います。私は最新のオペレーティングシステムであるFedora 33を使用しており、常に最新バージョンを維持しています。
明らかに、ライブラリはFedora 34で更新されましたが、Fedora 33のような最先端のシステムでは、私のJPEGがなぜそれほど古いのですか?また、このライブラリをアップグレードする正式な方法は何ですか?手動でコンパイルして置き換える必要がありますか?どのライブラリを更新するのかわかりません。
このコマンドはldconfig -p | grep -P jpe?g
以下を返します。
libmjpegutils-2.1.so.0 (libc6,x86-64) => /lib64/libmjpegutils-2.1.so.0
libjpeg.so.62 (libc6,x86-64) => /lib64/libjpeg.so.62
libjpeg.so.62 (libc6) => /lib/libjpeg.so.62
libjpeg.so (libc6,x86-64) => /lib64/libjpeg.so
libgdcmjpeg16.so.3.0 (libc6,x86-64) => /lib64/libgdcmjpeg16.so.3.0
libgdcmjpeg12.so.3.0 (libc6,x86-64) => /lib64/libgdcmjpeg12.so.3.0
libgdcmjpeg8.so.3.0 (libc6,x86-64) => /lib64/libgdcmjpeg8.so.3.0
コマンドはrpm -qa | grep -P jpe?g
次を返します。
libjpeg-turbo-2.0.5-5.fc33.i686
libjpeg-turbo-2.0.5-5.fc33.x86_64
libjpeg-turbo-devel-2.0.5-5.fc33.x86_64
mjpegtools-libs-2.1.0-20.fc33.x86_64
openjpeg2-2.3.1-10.fc33.x86_64
openjpegまたはlibjpeg-turboを更新する必要がありますか?
ベストアンサー1
- 34 RPMのFedora(libjpeg-turbo-2.0.90-2.fc34.x86_64.rpmまたはlibjpeg-turbo-2.0.90-2.fc34.i686.rpm)をインポートして、目的の場所にJPEGライブラリを解凍するコンパイルします。たとえば、/usr/localにライブラリをインストールします。
- 次のようにアプリケーションを実行します。
$ LD_PRELOAD=/path/libjpeg.so.62 application