HiveMQ

Error while exec on Arm (Raspberry)

Hi,
i’m using a Raspberry Pi, based ob ARM.
Docker and Pi uptodate.
Is there a way to get Hive running on it.
If i try to docker run it, it fails with: "standard_init_linux.go:190: exec user process caused “exec format error”.
Any ideas?

Hey fxnm,

Unfortunately our Docker image is currently not released with builds/manifests for architectures other than amd64/i386.
We will consider adding this for future releases but cannot currently tell you when this might be available.

However, with some minor manual work you can also build the container directly on your Raspberry Pi.
For example, to build the 2020.2 version on your Raspberry Pi, follow these steps:
You will need openjdk11 and git installed on your Pi for this.

git clone https://github.com/hivemq/hivemq-community-edition.git
cd hivemq-community-edition/
git checkout 2020.2

Now, prior to building, you will need to change 2 things:

  1. In docker/Dockerfile, change the FROM openjdk:11-jre-slim line to FROM arm32v7/openjdk:11-jre-slim (cannot use the natively provided arm64v8 image on Raspbian due to its default kernel unfortunately)

  2. In src/main/java/com/hivemq/configuration/service/InternalConfigurations.java change PersistenceType.FILE_NATIVE to PersistenceType.FILE

with that set, you can now build the image by running:

sudo TARGET_IMAGE=hivemq/hivemq-ce:2020.2 docker/build.sh

This will build the image hivemq/hivemq-ce:2020.2 for your architecture into your local docker daemon.

2 Likes