@ajstanley discovered with the cantaloupe selection strategy set to automatic, the kakadu java library is used to read JPEG2000 files, resulting in errors like
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.UnsatisfiedLinkError: no kdu_jni in java.library.path: /usr/lib/jvm/java-17-openjdk/lib/server:/usr/lib/jvm/java-17-openjdk/lib:/usr/lib/jvm/java-17-openjdk/../lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2434)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:818)
at java.base/java.lang.System.loadLibrary(System.java:1989)
at kdu_jni.Kdu_message.<clinit>(Kdu_message.java:5)
at edu.illinois.library.cantaloupe.processor.codec.jpeg2000.JPEG2000KakaduImageReader.<clinit>(JPEG2000KakaduImageReader.java:197)
at edu.illinois.library.cantaloupe.processor.KakaduNativeProcessor.<init>(KakaduNativeProcessor.java:77)
We don't ship kakadu with cantaloupe due to its restrictive licensing, and instead use the openjpeg processor. Setting the selection strategy to manual uses the openjpeg processor instead of kakadu.
@ajstanley discovered with the cantaloupe selection strategy set to automatic, the kakadu java library is used to read JPEG2000 files, resulting in errors like
We don't ship kakadu with cantaloupe due to its restrictive licensing, and instead use the openjpeg processor. Setting the selection strategy to manual uses the openjpeg processor instead of kakadu.