Closed hwoodiwiss closed 1 month ago
Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.
Author: | hwoodiwiss |
---|---|
Assignees: | - |
Labels: | `arch-wasm`, `untriaged`, `area-Build-mono`, `in-pr` |
Milestone: | - |
Thanks for the contribution! How important is this for you? While this patch will work to build runtime it won't properly update dotnet/icu and dotnet/emsdk so you may run into other problems. If you can wait a bit we're working on plans to support arm64 properly and I expect that work to start soon.
Hey, I'm happy to work around this, I'm just using it for hobby things at the moment, so waiting's no issue for me.
@lewing, we have emscripten=3.1.34
and I can reproduce.
While I can still reproduce when running make provision-wasm
separately, after emscripten=3.1.54
bump, I also checked the overall build process and it succeeds (./build.sh mono+libs -c release -os browser
). Emsdk is provisioned correctly as the part of build process and looks correct:
emsdk/bin/wasm-opt --version
wasm-opt version 117
Tested OS: Ubuntu 22.04.4 LTS (GNU/Linux 6.5.0-1024-azure aarch64)
@radekdoulik, do you think we can close it? What could be the reasons why running provisioning as a separate command fail? Should we fix it?
Description
When running
make provision-wasm
insrc/mono/wasm
on Linux on ARM64, the build fails with a 404 while trying to get the emscripten SDK.Reproduction Steps
On Linux on ARM64, set
src/mono/wasm
as current directory and runmake provision-wasm
Expected behavior
The EMSDK and its dependencies should be installed and activated in the current shell.
Actual behavior
Emsdk fails to download version
3.1.12
with error:This is because EMSDK binaries are not always generated for linux arm64 builds.
Known Workarounds
Temporarily changing the value in
emscripten-version.txt
to3.1.21
makes this work.Proposed Solution
Given that at current emscripten does not have linux arm64 binaries generated for every version of emsdk, we can either update the emscripten-version.txt to
3.1.21
, or conditionally select latest when building on linux arm64.