From: Deepesh Varatharajan Date: Thu, 27 Mar 2025 09:06:06 +0000 (-0700) Subject: rust: Fix build failure when multilibs are enabled X-Git-Tag: 2025-04-walnascar~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ab29b970ba7e08eabca92018d103af5f249ed2c5;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git rust: Fix build failure when multilibs are enabled When multilibs are enabled, building rust is failing because of the following commit https://github.com/rust-lang/rust/commit/68034f837a39387e49fc7d7c5b088f5372a1127e with stage1/rustc cannot able to find dependent *.so files. The issue is been fixed inrust-master with the following commit by passing the necessary library paths before executing stage1/rustc Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916] Signed-off-by: Deepesh Varatharajan Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch b/meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch new file mode 100644 index 00000000000..6bb1738d058 --- /dev/null +++ b/meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch @@ -0,0 +1,31 @@ +Fix bootstrap failure when multilibs are enabled. + +Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916] + +Signed-off-by: Deepesh Varatharajan +--- +diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs +index 066e6bf53f..a2f6fac4b1 100644 +--- a/src/bootstrap/src/core/builder/cargo.rs ++++ b/src/bootstrap/src/core/builder/cargo.rs +@@ -646,7 +646,10 @@ impl Builder<'_> { + // Build proc macros both for the host and the target unless proc-macros are not + // supported by the target. + if target != compiler.host && cmd_kind != Kind::Check { +- let error = command(self.rustc(compiler)) ++ let mut rustc_cmd = command(self.rustc(compiler)); ++ self.add_rustc_lib_path(compiler, &mut rustc_cmd); ++ ++ let error = rustc_cmd + .arg("--target") + .arg(target.rustc_target_arg()) + .arg("--print=file-names") +@@ -654,6 +657,7 @@ impl Builder<'_> { + .arg("-") + .run_capture(self) + .stderr(); ++ + let not_supported = error + .lines() + .any(|line| line.contains("unsupported crate type `proc-macro`")); + diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc index 28f5aebbb46..ee23e5aa8b8 100644 --- a/meta/recipes-devtools/rust/rust-source.inc +++ b/meta/recipes-devtools/rust/rust-source.inc @@ -7,6 +7,7 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n file://oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch;patchdir=${RUSTSRC} \ file://0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch;patchdir=${RUSTSRC} \ file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \ + file://Zdual-proc-macros-additional-check.patch;patchdir=${RUSTSRC} \ " SRC_URI[rust.sha256sum] = "e23ec747a06ffd3e94155046f40b6664ac152c9ee3c2adfd90353a7ccff24226"