andygrove opened a new pull request, #4024:
URL: https://github.com/apache/datafusion-comet/pull/4024

   ## Which issue does this PR close?
   
   Closes #.
   
   ## Rationale for this change
   
   Linux CI has been failing on main since ~2026-04-21 20:55 UTC on every
   PR with:
   
   ```
   rust-lld: error: unable to find library -ljvm
   collect2: error: ld returned 1 exit status
   ```
   
   The failure reproduces on main at `cae101e80` and every later commit,
   across `PR Build (Linux)`, `Spark SQL Tests`, and `Iceberg Spark SQL
   Tests` workflows. None of the commits in that window touch native code
   or build scripts, so the regression came from the environment.
   
   Rust's `stable` channel (used by the workflows) released a version
   during that window that defaults to `rust-lld` as the linker on
   `x86_64-unknown-linux-gnu`. The failing linker command clearly shows
   `-fuse-ld=lld`. `rust-lld` cannot resolve `-ljvm` against the Zulu
   JDK 17 layout that `actions/setup-java@v4` installs under
   `/__t/Java_Zulu_jdk/17.0.18-8/x64/lib/server/` — GNU `ld.bfd` resolves
   it fine.
   
   ## What changes are included in this PR?
   
   Adds `-Clink-arg=-fuse-ld=bfd` to `RUSTFLAGS` in the three Linux CI
   workflows: `pr_build_linux.yml`, `spark_sql_test.yml`, and
   `iceberg_spark_test.yml`.
   
   - Set at workflow-level `env:` so every cargo invocation (including
     those inside the composite `rust-test` action, which has no explicit
     RUSTFLAGS) picks up GNU ld.
   - Extended the existing step-level `RUSTFLAGS: "-Ctarget-cpu=x86-64-v3"`
     values to include the same flag, because step-level env replaces
     workflow-level env rather than appending.
   
   macOS CI is also failing but with a different root cause
   (`ld: library 'jvm' not found`, path to Zulu does not exist on the
   runner). That is a separate issue and is not addressed here.
   
   ## How are these changes tested?
   
   By running the affected workflows on this PR. If the Linux `Build Native
   Library`, `ubuntu-latest/rust-test`, `Spark SQL Tests`, and
   `Iceberg Spark SQL Tests` jobs all reach a normal pass/fail state
   instead of failing at the linker, the fix is confirmed.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to