Mosquitto 2.1.2 builds and runs on riscv64 with no source changes needed.
Native riscv64 GitHub Actions runners are available through the RISE Project (ubuntu-24.04-riscv), so this can be added as a CI job alongside the existing build matrix at minimal cost.
Build evidence:
Validated on RISE native riscv64 runner (Scaleway EM-RV1):
Also validated on BananaPi F3 (SpacemiT K1, rv64gc, 8 cores @ 1.6 GHz):
- Build time: 1m30s (wall), 9m CPU time
$ ./build/src/mosquitto --version
mosquitto version 2.1.2
$ file ./build/src/mosquitto
ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1
Build dependencies on Ubuntu 24.04:
build-essential, cmake, libssl-dev, libcjson-dev, libsqlite3-dev, libargon2-dev, libreadline-dev, docbook-xsl, xsltproc, pkg-config
Configuration:
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=OFF
make -j$(nproc)
Related: #3224 (riscv64 snap, closed)
I can submit a PR adding the CI workflow if that would be helpful. I'd need to sign the ECA first.
Mosquitto 2.1.2 builds and runs on riscv64 with no source changes needed.
Native riscv64 GitHub Actions runners are available through the RISE Project (
ubuntu-24.04-riscv), so this can be added as a CI job alongside the existing build matrix at minimal cost.Build evidence:
Validated on RISE native riscv64 runner (Scaleway EM-RV1):
Also validated on BananaPi F3 (SpacemiT K1, rv64gc, 8 cores @ 1.6 GHz):
Build dependencies on Ubuntu 24.04:
build-essential, cmake, libssl-dev, libcjson-dev, libsqlite3-dev, libargon2-dev, libreadline-dev, docbook-xsl, xsltproc, pkg-config
Configuration:
Related: #3224 (riscv64 snap, closed)
I can submit a PR adding the CI workflow if that would be helpful. I'd need to sign the ECA first.