yihua opened a new issue, #844:
URL: https://github.com/apache/hudi-rs/issues/844

   `build-wrapper.sh` compiles dependencies at `opt-level = 1` in dev builds on 
macOS arm64. With Lance on arrow 58 and the workspace on arrow 59 (#828), a 
debug binary that links both carries two copies of arrow, and at `opt-level = 
0` its code section passes the arm64 +/-128MB branch range: the 
`hudi-datafusion` test binaries and the Python extension both fail with `ld: 
B/BL out of range (max +/-128MB)` into `ctor`'s startup section (pulled in 
through lance-io -> opendal). Optimizing dependencies shrinks the code enough 
to link. The README gives downstream debug builds the same advice.
   
   The override is scoped to macOS arm64 because it roughly triples per-crate 
compile time; applied workspace-wide it doubled the Linux python-tests CI job.
   
   Remove it once a Lance release shares the workspace's arrow major 
(lance-format/lance#9979), together with the `lance_arrow.rs` bridge and the 
renamed `arrow-array-lance` / `arrow-schema-lance` dependencies in 
`crates/core/Cargo.toml`:
   
   - drop the `--config 'profile.dev.package."*".opt-level=1'` injection from 
`build-wrapper.sh`
   - drop the macOS arm64 paragraph from the README's DataFusion section and 
the note in `AGENTS.md`
   - confirm `./build-wrapper.sh cargo test -p hudi-datafusion --no-run` and 
`make develop` link on an arm64 Mac without it
   


-- 
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