Arm64 (beta) Support for Paketo Buildpacks #1387
Replies: 5 comments 1 reply
-
And if you build native (GraalVM) based images,
|
Beta Was this translation helpful? Give feedback.
-
Issue reported with
I don't know yet the reason of this error, it's weird cause the buildpack 5.8.0 was published multi arch , and the dependencies are not platform specific (a jar and a JS tarball) |
Beta Was this translation helpful? Give feedback.
-
🚀 BIG UPDATE THIS WEEK FOR JAVA!!! 🚀Java 22 + quaterly updates + ARM64 for:
And, java-native-image:latest is now dual arch; you can drop the beta tag (but for ARM64 builds, you still need to use a dual arch builder such as https://hub.docker.com/r/paketobuildpacks/builder-jammy-buildpackless-tiny/tags ) |
Beta Was this translation helpful? Give feedback.
-
Additional information for buildpacks that are not dual-arch supportedOnly aternity and google stack driver Java buildpacks (because those agents do not have arm64 versions) are NOT dual arch supported.(thanks to @dmikusa for chasing all the remaining single arch Java buildpacks!) If you run them on "pure" amd64 linux with a full dual arch buildpackschain (except aternity)build
runtime
Conclusionall good If you run them on "pure" arm64 linux with a full dual arch chain (except aternity)build
conclusionDetect won't even pass; fails at build time - the error is pretty explicit though If you run them on Mx (silicon) macs that run on arm64 but emulate x86_64build
Well, well, well 🤔 - detection passed, as well as Aternity build - even if it chose the arm64 path, since it downloaded the arm64 JVM. We can explain that with the fact that the mac docker daemon pulled arm64 flavors for all buildpacks, except aternity since there was none, and then happily used aternity x86 compiled Unfortunately, the user ends up with a franken-image that is arm64 based with an x86 agent runtime
conclusionSo this is were the magic ends: the produced image is arm64 and the agent loaded an x86 Bonus Mx (silicon) macs that run on arm64 but emulate x86_64 WITH --platform (pack > 0.34.0)build
Thanks to the The result image is 100% amd64 - took quite a bit longer to build though, but at least, it's fine and replicates pre dual-arch era. runtime
conclusionThe image run fine, albeit a bit slower on Mac Silicon, and could be run on other x86 docker daemon (just like what we had before dual arch support) |
Beta Was this translation helpful? Give feedback.
-
❤️ Hello arm64 fans! 🌈 Please try it out and let us know!
|
Beta Was this translation helpful? Give feedback.
-
We're looking for courageous, brave, fearless testers to have a look at beta Paketo Buildpacks Dual Arch (including ARM64)
DID YOU READ THAT RIGHT ?!
ARM64 M1/M2/M2 macbooks and AWS Graviton and Rasberry Pi processor support?
Yes
You
Did
The time has finally come! After more than 2 years patiently watching your CPU die a slow death doing some Rosetta arch. translation!
But first, test those buildpacks out, anyway you want, and let us know in comments how that works for you, your family, friends and customers!
Go to your favorite Java project - if you don't have 1, use the samples
you replace
pack build myapp
with:
pack build -B paketobuildpacks/builder-jammy-buildpackless-tiny -b gcr.io/paketo-buildpacks/java myapp
You configure your plugin with:
and do the usual
./mvnw clean spring-boot:build-image
You configure your plugin with the following in your build.gradle.kts:
or if you're feeling groovy
and do the usual
./gradlew clean assemble bootBuildImage
Well, that's a pretty big change and we don't pretend having tested all possible variations.
PLEASE 🙏 Let us know (in this thread for example) how that works for you! and the sooner we round things up, the sooner it will be default!
🚀 THANK YOU 🚀
UPDATED MAY 22: no need for beta tag anymore, it's in latest
Beta Was this translation helpful? Give feedback.
All reactions