]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
rust: fix for rust multilib sdk configuration
authorHarish Sadineni <Harish.Sadineni@windriver.com>
Thu, 23 Jan 2025 15:47:53 +0000 (07:47 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 1 Feb 2025 07:43:57 +0000 (07:43 +0000)
commit40eb4bfe2f100ba5301046ca25110fcc55a640bb
treef4e6c49e17a57cf1f7c4a6a97a035a13ae1a57c4
parentb3cdfca5ef84ed2054faef9abddef3aeed930e17
rust: fix for rust multilib sdk configuration

YOCTO [#15061]
The rust sdk installs both 'rust.sh' and 'cargo.sh' for lib32 and lib64 in the same location.
This causes below error while installing the lib32 & lib64 binaries:

Error: Transaction test error:
  file /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/environment-setup.d/cargo.sh
conflicts between attempted installs of rust-cross-canadian-arm-1.67.1-r0.x86_64_nativesdk and
 rust-cross-canadian-aarch64-1.67.1-r0.x86_64_nativesdk
  file /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/environment-setup.d/rust.sh
conflicts between attempted installs of rust-cross-canadian-arm-1.67.1-r0.x86_64_nativesdk and
rust-cross-canadian-aarch64-1.67.1-r0.x86_64_nativesdk
ERROR: Task (virtual:multilib:lib32:/media/build/poky/meta/recipes-sato/images/core-image-sato.bb:do_populate_sdk)
failed with exit code '1'

The change includes:
- Prepending '${RUST_TARGET_SYS}' to 'rust.sh' to differentiate between target systems.
- Moving the non-target-specific environment variables to 'nativesdk-cargo' and 'nativesdk-rust',
instead of being managed by the cross-canadian recipe.

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
meta/recipes-devtools/rust/cargo_1.81.0.bb
meta/recipes-devtools/rust/rust-cross-canadian.inc
meta/recipes-devtools/rust/rust_1.81.0.bb