-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
armv7 images #38
armv7 images #38
Conversation
Hello! Hum, good question, I never really thought about it. Reading about it a bit at https://lobradov.github.io/Building-docker-multiarch-images and https://medium.com/@mauridb/docker-multi-architecture-images-365a44c26be6 I'm not quite sure what the path toward that would be. Questions to be solved:
|
@NicolasPetton: do you have any experience with building armv7 images? |
Philippe Vaucher <notifications@github.com> writes:
@NicolasPetton: do you have any experience with building armv7 images?
On armv7 platforms, yes, but I've never built multi arch images.
|
Okay, I was hoping for a head start. I guess I'll have to learn the hard way 😉 |
Hum, can you clarify which architectures you are interested in? https://github.com/multiarch/qemu-user-static/releases FROM amd64/alpine:3.7
FROM arm32v6/alpine:3.7
FROM arm64v8/alpine:3.7 So many to choose from 😨 |
|
Philippe Vaucher <notifications@github.com> writes:
Hum, can you clarify which architectures you are interested in? https://github.com/multiarch/qemu-user-static/releases
``` Dockerfile
FROM amd64/alpine:3.7
FROM arm32v6/alpine:3.7
FROM arm64v8/alpine:3.7
```
So many to choose from 😨
Yes, so many. I think the RaspberryPi3 is the most widespread single
board arm, and it's arm64v8.
|
Now I'm confused, the rpi3 CPU is 64bits armv8, but the kernel on a raspbian install is armv7l 😕 |
Hi @Silex, is there any way I can help with this? |
Sure 👍 Answering the questions below would be a good start:
|
|
Alright.
No it looks reasonably easy.
That is way more annoying 😞 But good news I found this:
I need to think about it to see how feasible it is to do that in the current architecture. |
Great, thanks. Let me know if you want my help at some point. |
Okay... I can build on arm64 using travis beta arm builds, but this makes the amd64 builds fail: https://travis-ci.org/Silex/docker-emacs/builds/633236712 This happens because to build Emacs < 27 you need to disable Anyway, it looks like this would not support arm32 images and I'll need to create multi-arch manifests for each images anyway so I don't think building the images separatly makes sense. I'll confirm and then try the qemu solution. |
Philippe Vaucher <notifications@github.com> writes:
Okay... I can build on arm64 using travis beta arm builds, but this makes the amd64 builds fail: https://travis-ci.org/Silex/docker-emacs/builds/633236712
This happens because to build Emacs < 27 you need to disable `randomize_va_space` (see moby/moby#22801).
Anyway, it looks like this would not support arm32 images and I'll need to create multi-arch manifests for each images anyway so I don't think building the images separatly makes sense.
I'll confirm and then try the qemu solution.
Thanks!
|
a1dbbf8
to
2694cde
Compare
Philippe Vaucher <notifications@github.com> writes:
So, I'm not sure about what to do. I could simply not build all
variants on for these images (e.g only amd64/i386), but then it's a
bit unexpected when doing CI? Give me your thoughts.
To me this is no surprise that some versions of Emacs can't be built on
some architecture or OS. I think this is the same for all software: as
new releases arrive, support for some architectures is added and support
for others is removed.
I would be perfectly happy with just a few Emacs versions if that
includes the latest.
…--
Damien Cassou
"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill
|
Ok I decided to build what builds for now, and I'll make issues about what doesn't build for later solving. |
🎉 More modifications will follow in #58 Please test a bit and notice me if you find anything. |
Thank you so much for your work @Silex. For now, it doesn't seem to work but I'm not sure this has anything to do with your images: https://drone.petton.fr/mpdel/libmpdel/73/1/2 Maybe related to harness/harness#2955? |
@DamienCassou: good catch, apparently something didn't build https://hub.docker.com/r/silex/emacs/tags?page=1&name=latest As you see https://hub.docker.com/r/silex/emacs/tags?page=1&name=26.3 are multiarch. I'll figure it out and report. |
Ok it's because of docker/buildx#177 I'll work around it in the meantime. |
Hum in trying to fix it I also broke 26.3*. The good news is that I think it'd be fixed soon and be multiarch for all tags :-) EDIT: it's actually more complicated :-/ |
Okay, all tags are now multiarch but my workaround sucks (the tags don't point to exactly the same image digests yet the layers are identical). I'm trying to find something elegant. |
and it is working great!!!! Before I had to wait at least 5 minutes for a build to finish. Now it's less than 1. Thank you so much. |
Damien Cassou <notifications@github.com> writes:
and it is working **great**!!!!
That's awesome! Thanks a lot!
|
Hi!
Just wondering if you plan to add avmv7 alpine images.