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]

Reply via email to