Repository navigation
GH-55416: [CI][C++] Update Emscripten to 5.0.3 - #55417
Merged
Merged
Conversation
|
|
Member
Author
|
@github-actions crossbow submit *-emscripten |
|
Revision: 8ba3527 Submitted crossbow builds: ursacomputing/crossbow @ actions-c3b963985d
|
tadeja
marked this pull request as ready for review
November 5, 2026 15:01
tadeja
requested review from
assignUser,
jonkeane,
kou and
raulcd
as code owners
November 5, 2026 15:01
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the C++ CI Emscripten update and removal of the legacy workaround.
No open issues 🎉
What changed in this PR
Updates Emscripten for the C++ Ubuntu 22.04 nightly CI job, addressing #55416. The separate Python/Pyodide toolchain update remains out of scope.
Changes:
- Bumps the C++ CI image’s Emscripten version from 3.1.45 to 5.0.3.
- Removes the offset-converter workaround for Emscripten versions older than 4.0.14.
| File | Description |
|---|---|
cpp/cmake_modules/SetupCxxFlags.cmake |
Removes the legacy Emscripten offset-converter linker flag. |
ci/docker/ubuntu-22.04-cpp.dockerfile |
Updates the default Emscripten version to 5.0.3. |
Review effort: Balanced
5 tasks
raulcd
pushed a commit
that referenced
this pull request
Nov 13, 2026
…dide 314 (`2026_0` ABI) (#47330) ### Rationale for this change This PR allows PyArrow to be built and tested against our Pyodide `2026_0` ABI introduced with [the Pyodide 314.0.0 release](https://blog.pyodide.org/posts/314-release/). Closes #47329 ### What changes are included in this PR? This PR updates the Pyodide version in the build scripts to 314.0.7 and the Emscripten version to 5.0.3, along with associated build-time changes to fix compilation issues. This PR updates the `conda-python-emscripten` job to Pyodide 314.0.7, Python 3.14, Node 24, and pyodide-build 0.39.2 and later. The Emscripten version for this job is gathered from the Pyodide distribution, which renders it to be 5.0.3. That matches the version the C++ job uses, since #55417. The build changes are as follows: - Emscripten builds now use native WebAssembly exceptions and WebAssembly-based `setjmp`/`longjmp` (`-fwasm-exceptions -sSUPPORT_LONGJMP=wasm`), as our `2026_0` ABI requires. - `libarrow_python.so` and the Cython extension modules are linked with an `$ORIGIN` RPATH, in order for us to find `libarrow_python.so` next to the modules that need it. - The host Protobuf build is given the C++ standard explicitly, which fixes an Abseil ABI mismatch when linking with AppleClang on my machine. ### Are these changes tested? Yes, these changes are (to be) tested by the `test-conda-python-emscripten` and `test-ubuntu-22.04-cpp-emscripten` jobs on Crossbow. ### Are there any user-facing changes? Yes, downstream packagers trying to build a WASM wheel for Pyodide are now required to use newer Pyodide and Emscripten versions, and the latest stable version of pyodide-build. * GitHub Issue: #47329 cc: @ hoodmane @ ryanking13 Lead-authored-by: Agriya Khetarpal <[email protected]> Co-authored-by: Tadeja Kadunc <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale for this change
Closes #55416
What changes are included in this PR?
Update C++ Emscripten from 3.1.45 to 5.0.3 ( and remove the offset-converter workaround for Emscripten<4.0.14 )
Are these changes tested?
Yes
Are there any user-facing changes?
No
Was AI used for this PR?
PR code and description written by:
Reviewed before submission by: