joemarshall commented on PR #37822:
URL: https://github.com/apache/arrow/pull/37822#issuecomment-2069199736
@kou I've fixed most of those things you mentioned above - there are a
couple of points where it looks weird as per your comments but is right in this
case -
1) I don't include `arrow_acero_static` as a dependency for `_acero`,
because libarrow_acero is already in `libarrow_python.so`
2) For substrait, we use ` set(SUBSTRAIT_LINK_LIBS
$<TARGET_FILE:ArrowSubstrait::arrow_substrait_static> )` to link just
`libarrow_substrait.a` into `_substrait.so`. If we link directly to
`arrow_substrait_static`, it will link libarrow.a into `_substrait.so`, leading
to a duplicate of `libarrow.a` (which is already included in
`libarrow_python.so`.
I did try building without the separate `libarrow_python.so`, i.e. linking
libarrow_python as a static library then linking statically into each cython
extension, but (a) it is too much bigger, even with dead code elimination, (b)
bad things happened in testing because libarrow expects to only exist once.
I've also added a docker configuration to build emscripten python and run
the test suite on node.js, chrome and firefox. Some notes on this:
1) Right now it has a patch for pyodide, to fix the bug
https://github.com/emscripten-core/emscripten/pull/21759/ which is applied in
the python test script. Once pyodide 0.26 releases this can be dropped.
2) The script (in `python/scripts` which runs the tests is non-trivial; at
some point it would be worth upstreaming this code to somewhere pyodide
related, but I can't work out where right now. I'm talking to pyodide people
about it, but for now it needs to live in arrow still.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]