Description
Ubuntu changed their libaio package name as was addressed here.
But the native LibaioContext link is still referencing libaio.so.1, as seen in startup logs with debug enabled:
2024-09-18 15:40:43,807 DEBUG [org.apache.activemq.artemis.nativo.jlibaio.LibaioContext] artemis-native-64 -> not possible to load native library java.lang.UnsatisfiedLinkError: /opt/activemq-artemis/bin/lib/linux-x86_64/libartemis-native-64.so: libaio.so.1: cannot open shared object file: No such file or directory{quote} I think the link created [here|https://github.com/apache/activemq-artemis-native/blob/02ad87f08395993ae417ce75bf8ce78a3bc23e0a/src/main/c/CMakeLists.txt#L80C1-L80C22] is stale, and a simple rebuild of artemis-native may be all that's needed? Maybe the [dockerfile needs updating there|https://github.com/apache/activemq-artemis-native/blob/02ad87f08395993ae417ce75bf8ce78a3bc23e0a/src/main/docker/Dockerfile-ubuntu#L36] too though.
NOTE: This only affects the Ubuntu image. Alpine is fine.
The workaround is to either use the official Alpine image instead, or create a symlink to the old library name in a Dockerfile based on the official image:
RUN ln -s /lib/x86_64-linux-gnu/libaio.so.1t64 /lib/x86_64-linux-gnu/libaio.so.1
Attachments
Issue Links
- is related to
-
ARTEMIS-4960 Ubuntu package name change preventing Docker image build
- Closed
- links to