Repository navigation
GH-47329: [Packaging][Python][C++] Build and test PyArrow against Pyodide 314 (2026_0 ABI) - #47330
Conversation
|
|
|
@github-actions crossbow submit test-conda-python-emscripten |
|
|
Hello, could the maintainers with the necessary permissions please trigger an Emscripten build on this PR? Thank you! I thought I could do this, as I previously submitted a PR that was accepted and merged: #45072, so I'm not sure if I understand the bot's message above. Is it that the word "contributors" here actually means those with a commit bit? 🤔 |
|
It looks like the actual error is something else, though, which gets masked by the error message: https://github.com/apache/arrow/actions/runs/16950058312/job/48040535515?pr=47330#step:5:16 |
|
@github-actions crossbow submit test-conda-python-emscripten |
|
Revision: 9d4bf5a Submitted crossbow builds: ursacomputing/crossbow @ actions-e6f3074ad3
|
|
Thanks. We'll need a |
|
Could you please submit another build? Thanks! |
|
@github-actions crossbow submit test-conda-python-emscripten |
|
Revision: 16f90d9 Submitted crossbow builds: ursacomputing/crossbow @ actions-c232acf2ff
|
|
I am trying to find out the correct place to install |
pyodide_2025_0 ABIpyodide_2025_0 ABI
I added this in af2e18d, but I'm not sure if this is the right approach. Could you please verify this commit, and also submit another build? Thanks! |
|
@github-actions crossbow submit test-conda-python-emscripten |
|
FYI: You can use See https://arrow.apache.org/docs/developers/continuous_integration/archery.html how to setup Archery. |
|
Revision: af2e18d Submitted crossbow builds: ursacomputing/crossbow @ actions-5d3d1c591a
|
|
Unfortunately, Archery was not helpful for me, as I am on an M-series macOS machine, and that means Docker runtimes under I'll try to get access to a Linux-amd64 machine for this. In the meantime, could you please submit another build? I'd like to try out the |
|
@github-actions crossbow submit test-conda-python-emscripten |
You sure about this? I think it's definitely wrong to pass -fexceptions.... |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
Revision: 3c80ba4 Submitted crossbow builds: ursacomputing/crossbow @ actions-457023a373
|
|
@github-actions crossbow submit emscripten |
|
Revision: 3c80ba4 Submitted crossbow builds: ursacomputing/crossbow @ actions-0f15cbd5a3
|
|
@github-actions crossbow submit test-conda-python-emscripten |
|
Revision: 3c80ba4 Submitted crossbow builds: ursacomputing/crossbow @ actions-f18f77b7a1
|
|
The previous two runs of |
Ah, thanks a lot @tadeja! 🙈 I have two follow-ups here:
|
|
Ah!
Does it crash only for a
Sounds like the |
It can be anything that uses
Oh, yes, I indeed meant a follow-up PR :) I'm on it and will open one once this one is merged! |
There was a problem hiding this comment.
🔵 Needs a closer look
The review spans tightly coupled ABI, compiler, linker, and loader changes, and its correctness cannot be established until the Crossbow Pyodide 314 build and both runtime test jobs complete.
No open issues 🎉
Review effort: Lite
Rationale for this change
This PR allows PyArrow to be built and tested against our Pyodide
2026_0ABI introduced with the Pyodide 314.0.0 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-emscriptenjob 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:
setjmp/longjmp(-fwasm-exceptions -sSUPPORT_LONGJMP=wasm), as our2026_0ABI requires.libarrow_python.soand the Cython extension modules are linked with an$ORIGINRPATH, in order for us to findlibarrow_python.sonext to the modules that need it.Are these changes tested?
Yes, these changes are (to be) tested by the
test-conda-python-emscriptenandtest-ubuntu-22.04-cpp-emscriptenjobs 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.
2026_0ABI) #47329cc: @hoodmane @ryanking13