emscripten-core / emsdk

Emscripten SDK
http://emscripten.org
Other
3.03k stars 692 forks source link

Docker image not multiarch #687

Open rickardp opened 3 years ago

rickardp commented 3 years ago

The docker image published to https://hub.docker.com/r/emscripten/emsdk is built for x86_64 only. While it works through the built-in qemu, it would be more efficient if the image was built as a true multi arch image (specifically, aarch64 is useful for Apple silicon).

sbc100 commented 3 years ago

If you would like to submit a patch to make this happen it would be most welcome.

rickardp commented 3 years ago

I was looking at it, but there seems to be no aarch64 builds of llvm as part of the manifest. Am I correct in this observation? Because if so that would probably need to be the first thing to fix. I tried naively to build it but I compiling llvm under the builtin qemu takes way too long to fit a GitHub Actions job, so cross compilation is required, I believe. Is there anyone looking into this? Or am I mistaken in how it is set up? In the mean time I'll set up a little cross compilation project one the side to see how far I get :)

sbc100 commented 3 years ago

Ah, yes sorry its more complicated that I had thought. The main problem is that emsdk doesn't have arm64 binaries at all... so there is nothing that we don't have the binaries to populate the docker images.

So this is really more about arm64 support in general. So we would need to fix #547 and/or #671 and/or https://github.com/emscripten-core/emscripten/issues/12695 first before we would have anything useful to package.