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]