-
Notifications
You must be signed in to change notification settings - Fork 702
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
(bazel) Unable to fetch wasm-binaries.tar.xz for emsdk 3.1.47+ #1379
Comments
The Are you saying that Perhaps we could find a way to make Is there some reason you need/want to install those old versions? Would it work if you used the same version of emsdk was emscripten_version? i.e. a version of emsdk prior to #1281? |
What I am seeing is that the recent versions of emsdk (3.1.47+) are not working for older versions of Emscripten (e.g., 3.1.45). For example, if try to load Emscripten into my workspace like this: load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "emsdk",
sha256 = "47515d522229a103b7d9f34eacc1d88ac355b22fd754d13417a2191fd9d77d5f",
strip_prefix = "emsdk-3.1.59/bazel",
url = "https://github.com/emscripten-core/emsdk/archive/refs/tags/3.1.59.tar.gz",
)
load("@emsdk//:deps.bzl", emsdk_deps = "deps")
emsdk_deps()
load("@emsdk//:emscripten_deps.bzl", emsdk_emscripten_deps = "emscripten_deps")
emsdk_emscripten_deps(emscripten_version = "3.1.45")
load("@emsdk//:toolchains.bzl", "register_emscripten_toolchains")
register_emscripten_toolchains() Emsdk tries to fetch this invalid URL (404): https://storage.googleapis.com/webassembly/emscripten-releases-builds/linux/2b7c5fb8ffeac3315deb1f82ab7bf8da544f84a1/wasm-binaries.tar.xz Note however that changing the extension manually to wasm-binaries.tar.gz also results in a 404.
I have a custom runtime and since the ABI is not stable and since I use Pyodide in my project, I pin the Emscripten version to the same version of Emscripten as the latest Pyodide release. |
I just tried emsdk 3.1.59 with emscripten 3.1.46 which downloads, however, the checksum for wasm-binaries.tar.xz doesn't line up with what emsdk expects. Expected: 75cbf14629b06e417b597d3f897ad7d881c53762380aca2f0dd85f1b15891511 |
If you always match the emsdk version with the emscripten version does that work? That seems like your safest bet. |
It does work, although I was hoping that I could use a version of emsdk with 90d2168 and Emscripten 3.1.46. |
In order to make that work we would need to teach the bazel toolchains the pointer at which the filenames got renamed from This might be possible.. ? |
I believe the transition in filenames happened between 3.1.46 and 3.1.47. The reason you are seeing the wrong sha hash is that for 3.1.46 it looks like we uploaded both the
|
It looks like it should be possible to modify bazel/emscripten_deps.bzl such that it makes the file extension depend on the version: emsdk/bazel/emscripten_deps.bzl Lines 102 to 132 in d52c465
If we did that then you could use emsdk main to install older versions. |
This only applies to 3.1.46, right? So the hash just needs to be adjusted or does fixing this still mean making bazel/emscripten_deps.bzl aware of the relationship between the version and the extension? |
I think the only real fix is to make |
For the record, we noticed this too with https://github.com/mymindstorm/setup-emsdk in GitHub Actions, which started raising the same error when attempting to setup up emscripten 3.1.39. It seems that action always downloads the latest I'm not sure why things started breaking today though, when the latest emsdk |
Also, the transition of filenames happened months ago. |
When executing this block in WORKSPACE, I am unable to use anything higher than emsdk 3.1.46. On emsdk 3.1.47 and above, I keep getting a 404 from storage.googleapis.com.
starlark
Just to clarify, emsdk downloads without a problem for the newer versions, but the referenced wasm-binaries archive in the rule
emscripten_bin_linux
seems to have incorrect URLs.The text was updated successfully, but these errors were encountered: