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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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"
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