From 227c4e2e6e23537462c00eb8f512c5ebc0e72394 Mon Sep 17 00:00:00 2001 From: Daniel Arroyo Date: Thu, 13 Aug 2026 14:29:51 -0400 Subject: [PATCH] fix(ci): build static native binary (musl) to fix glibc version mismatch Container `maven:3.9.6-eclipse-temurin-21` is Ubuntu 22.04 jammy with glibc 2.35. Container `quarkus-micro-image:2.0` is UBI 9 minimal with glibc 2.34. Native-image links against the build host's glibc, so the resulting binary needs GLIBC_2.34+ symbols that the UBI 9 runtime doesn't provide: ./application: /lib64/libc.so.6: version `GLIBC_2.34' not found ./application: /lib64/libc.so.6: version `GLIBC_2.33' not found ./application: /lib64/libc.so.6: version `GLIBC_2.32' not found Set quarkus.native.binary-type=STATIC so GraalVM embeds musl into the binary and removes the glibc dependency. The static binary runs on any Linux distribution, including UBI minimal. Trade-off: ~50MB -> ~80MB image size. --- .gitea/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 713c0f0..68d2704 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -60,7 +60,7 @@ jobs: restore-keys: ${{ runner.os }}-node- - name: Build (Native) - run: mvn package -Pnative -B -DskipTests -Dquarkus.native.native-image-xmx=4g + run: mvn package -Pnative -B -DskipTests -Dquarkus.native.native-image-xmx=4g -Dquarkus.native.binary-type=STATIC - name: Verify native binary run: |