quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.8k stars 2.68k forks source link

DB2/Oracle/MS SQL dev services do not work on Linux on aarch64 #43375

Open mjurc opened 1 month ago

mjurc commented 1 month ago

Describe the bug

Trying to run dev services for DB2/Oracle DB/MS SQL server on Linux on aarch64 can be problematic, as in general the container runtimes there don't run in VM emulating architecture OS combo like they do on Mac OS or Windows. The container images used for DB2/Oracle/MS SQL server do not have builds for Linux on aarch64 (MS SQL server goes even further and doesn't support running anywhere but x86-64).

Maybe it would be useful to document this in https://quarkus.io/guides/databases-dev-services?

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

No response

Output of uname -a or ver

Linux on aarch64

Output of java -version

doesn't factor

Quarkus version or git rev

main

Build tool (ie. output of mvnw --version or gradlew --version)

doesn't factor

Additional information

No response

quarkus-bot[bot] commented 1 month ago

/cc @geoand (devservices), @mswatosh (db2), @stuartwdouglas (devservices)

geoand commented 1 month ago

cc @yrodiere

yrodiere commented 1 month ago

Maybe it would be useful to document this in https://quarkus.io/guides/databases-dev-services?

It would certainly be, but I wonder what else we need to put there. I see you tested Quarkus with ARM, can you confirm these are the only database dev services with this limitation? Did you notice other, non-database dev services with such a limitation?

yrodiere commented 1 month ago

Also, if this is specific to Mac M1 and similar, shouldn't we have a dedicated page gathering the compatibility status? Maybe we already do? @geoand?

geoand commented 1 month ago

That's a good idea. I don't think we have one, but maybe @gastaldi knows as he's encountered various issues in the past

gastaldi commented 1 month ago

We don't but AFAIK you can run x86 images if you have Rosetta 2 installed. You can also pull the docker image with --platform linux/amd64 to force it to download the specific image. Does it work in your case @mjurc ?

mjurc commented 1 month ago

This is not ran on m1. This is Linux on aarch64 with docker (without running the container engine in VM like it happens on Windows or Mac OS with Docker/Podman desktop, I think), and none of those images have multiarch builds.

@yrodiere I am still working through failures, so there may be other dev services yet, but I am certain those three don't have aarch64 builds. MS SQL is not supported on aarch64 even on baremetal, the builds of Oracle used are not multiarch either (and for that matter, I don't think there's any actual multiarch Oracle container). DB2 has containers for x86-64, P and Z.

rsvoboda commented 1 month ago

just fyi, there was issue with Pulsar on aarch64 (https://github.com/quarkusio/quarkus/issues/43187), solved by image downgrade in https://github.com/quarkusio/quarkus/pull/43279

rsvoboda commented 1 month ago

kafka-streams app on aarch64 built using native builder image is not working - https://github.com/quarkusio/quarkus/issues/43319