Fedora
升級 Fedora 附帶的 C 庫的最佳方法是什麼?手動?
我在stackoverflow上發布了 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 上更新,但為什麼我的 JPEG 在像 Fedora 33 這樣的尖端系統中如此過時?另外,升級這個庫的規範方法是什麼?我應該手動編譯和替換它嗎?我不確定我應該更新哪個庫。
命令
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?
- 獲取 Fedora 的 34 RPM( 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