Islandora-Devops / isle-buildkit

Provides a number of Docker images which can be used to build an Islandora site. See also https://github.com/Islandora-Devops/isle-dc
https://www.islandora.ca/
MIT License
13 stars 23 forks source link

Change selection strategy to ManualSelectionStrategy #312

Closed joecorall closed 11 months ago

joecorall commented 11 months ago

@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.

joecorall commented 11 months ago

This can probably also close this old issue https://github.com/Islandora/documentation/issues/922