I get this error whenever I try to create an image in JavaFX. Absolutely no images are loaded, but everything else is in the user interface. The only time I see this is when prism.verbose=true
Other answers to similar questions here at StackOverflow suggest reinstalling libjpeg. But when I do sudo apt-get remove libjpeg8 , it tries to remove 4 GB packages that seem pretty important.
Has anyone else experienced this and found an acceptable solution that will not require me to reinstall my entire OS?
Here is the whole stack:
java.io.IOException: Wrong JPEG library version: library is 80, caller expects 70 at com.sun.javafx.iio.jpeg.JPEGImageLoader.initDecompressor(Native Method) at com.sun.javafx.iio.jpeg.JPEGImageLoader.<init>(JPEGImageLoader.java:187) at com.sun.javafx.iio.jpeg.JPEGImageLoaderFactory.createImageLoader(JPEGImageLoaderFactory.java:49) at com.sun.javafx.iio.ImageStorage.getLoaderBySignature(ImageStorage.java:419) at com.sun.javafx.iio.ImageStorage.loadAll(ImageStorage.java:266) at com.sun.javafx.tk.quantum.PrismImageLoader2.loadAll(PrismImageLoader2.java:142) at com.sun.javafx.tk.quantum.PrismImageLoader2.<init>(PrismImageLoader2.java:77) at com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.processStream(PrismImageLoader2.java:252) at com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.processStream(PrismImageLoader2.java:225) at com.sun.javafx.runtime.async.AbstractRemoteResource.call(AbstractRemoteResource.java:109) at com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.access$201(PrismImageLoader2.java:225) at com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.lambda$call$428(PrismImageLoader2.java:259) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.call(PrismImageLoader2.java:258) at com.sun.javafx.tk.quantum.PrismImageLoader2$AsyncImageLoader.call(PrismImageLoader2.java:225) at com.sun.javafx.runtime.async.AbstractAsyncOperation.lambda$new$272(AbstractAsyncOperation.java:57) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
And this is my version information for java. I am using the version of Oracle.
java version "1.8.0_72" Java(TM) SE Runtime Environment (build 1.8.0_72-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)
EDIT:
I ran strace in my application, and it looks like something is looking only for libjpeg 8. It never tries to find any libjpeg library by default or libjpeg 7 in general.
source share