summaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-10-16 18:34:03 +0200
committerDylan Baker <dylan@pnwbakers.com>2025-10-16 13:33:02 -0700
commit2c1dc736eb62ef6b3922f846785101cd3d2b2972 (patch)
treea980baa15094a3fd9b0033ae2e22481a3f548a73 /ci
parent9f83bbb0b680b51776ec9f6ac341f03465203f0b (diff)
downloadmeson-2c1dc736eb62ef6b3922f846785101cd3d2b2972.tar.gz
rust: work around unintuitive behavior of -l:-bundle
When a Rust target depends on an intermediate Rust library (.rlib) which itself has a dependency on a native static library, Meson's generated rustc command line failed to collect and propagate the search paths for these indirect native dependencies, leading to a linker error: error: linking with `cc` failed: exit status: 1 = note: rust-lld: error: unable to find library -l:libf.a collect2: error: ld returned 1 exit status The root cause is that the intermediate .rlib's metadata correctly stores the requirement to link the native library (via the -l flag), but it does not store the library's search path (the -L flag); the responsibility for providing the search path is therefore deferred to the final link command. Ensures that search paths for all transitive dependencies are collected, allowing the final linker invocation to find and correctly link the required native libraries. Reported-by: Martin Kletzander <nert.pinx@gmail.com> Fixes: 018d22482 ("ninjabackend: unify conversion from path to -L/-l", 2025-10-08) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'ci')
0 files changed, 0 insertions, 0 deletions