quarkusio / quarkus-images

Set of container images delivered for Quarkus
Apache License 2.0
110 stars 73 forks source link

Mandrel image fails to build native image with wasmtime-java (`GLIBC_2.32` not found) #227

Open cardil opened 1 year ago

cardil commented 1 year ago

Hi. I'm trying to build the Quarkus app with the wasmtime-java 0.14.0 library. The application works, but the native image build fails with:

/lib64/libc.so.6: version `GLIBC_2.32' not found (required by /tmp/libwasmtime_jni_0.14.0_linux15928750139324800087.so)

Here's my failing job: https://github.com/openshift-knative/showcase/actions/runs/4737898308/jobs/8411183414?pr=24

I think that's because the Mandrel image used (default to registry.access.redhat.com/quarkus/mandrel-22-rhel9:22.3-4) is based on RHEL 8, and those contain glibc 2.28-189.5 (see). It works well on my F37 machine. I have glibc 2.36-9.

Maybe we could have RHEL 9-based images as well? That would make this work.

Here's a PR with reproduction: https://github.com/cardil/openshift-knative-showcase/tree/117b06d539784971e875e5fb65197119a4275ee6

cescoffier commented 1 year ago

We have the plan to switch to ubi:9 at some point in the future.

cardil commented 1 year ago

We have the plan to switch to ubi:9 at some point in the future.

Yup. Makes sense. How about providing ubi:8 and ubi:9 images, so the transition be easier?

cescoffier commented 1 year ago

Yes, but we need to find a proper way to provide both (probably with ubi:9 in the image name or tag). Unfortunately it will make the maintenance a bit more cumbersome., and the migration annoying once we abandon ubi:8 and the tag gets reverted.