diff mbox series

[V4,2/3] rust: Fix for duplicate libstd.so

Message ID 20250113133936.2968211-2-Deepesh.Varatharajan@windriver.com
State Accepted, archived
Commit effd4ba4c23cbf53b01116b5cc81d6a29ca3b1a6
Headers show
Series [V4,1/3] rust-target-config: Update data layout x86,ppc,riscv64,aarch64,loongaarch64 targets. | expand

Commit Message

Deepesh Varatharajan Jan. 13, 2025, 1:39 p.m. UTC
From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>

During the Rust build process, multiple copies of libstd-*.so are generated, as
Rust copies the required files from the stage2 build artifacts to the target
image directory. When these build binaries are copied to the image, Yocto's
do_package step encounters an error. To resolve this, the redundant libstd-*.so
files are removed during the do_install step.

-------------------------------------------------------------------------------
ERROR: rust-1.81.0-r0 do_package: rust: Multiple shlib providers for
libstd-20c3de2d9292cd03.so:....
-------------------------------------------------------------------------------

Multiple copies of libstd-*.so are generated during the Rust build process.
The redundant files are removed during the do_install step.

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
---
 meta/recipes-devtools/rust/rust_1.80.1.bb | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/rust/rust_1.80.1.bb b/meta/recipes-devtools/rust/rust_1.80.1.bb
index eae1f28bb8..b583508456 100644
--- a/meta/recipes-devtools/rust/rust_1.80.1.bb
+++ b/meta/recipes-devtools/rust/rust_1.80.1.bb
@@ -271,6 +271,7 @@  rust_do_install:class-nativesdk() {
     rm ${D}${libdir}/rustlib/uninstall.sh
     rm ${D}${libdir}/rustlib/install.log
     rm ${D}${libdir}/rustlib/manifest*
+    rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/lib/libstd*.so
 }
 
 EXTRA_TOOLS ?= "cargo-clippy clippy-driver rustfmt"
@@ -294,6 +295,7 @@  rust_do_install:class-target() {
     rm ${D}${libdir}/rustlib/uninstall.sh
     rm ${D}${libdir}/rustlib/install.log
     rm ${D}${libdir}/rustlib/manifest*
+    rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/lib/libstd*.so
 }
 
 addtask do_update_snapshot after do_patch