On Tue, Nov 7, 2023 at 10:09 PM Hemraj, Deepthi via
lists.openembedded.org
<[email protected]> wrote:
>
> From: Deepthi Hemraj <[email protected]>
>
> [YOCTO #15061]
> Rust multilib sdks broken because of the conflicts between attempted installs
> of rust-cross-canadian for arm and aarch64.
>
> Arm and aarch64 target architectures are trying to install cargo.sh and
> rust.sh in the same path which resulted in the issue.
>
> The current patch modifies CARGO_ENV_SETUP_SH and RUST_ENV_SETUP_SH macros
> based on the architecture.
> Hence, creates different file names for the environment setup scripts and
> resolves the issue.
>
> Signed-off-by: Deepthi Hemraj <[email protected]>
> ---
> .../rust/rust-cross-canadian.inc | 25 +++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc
> b/meta/recipes-devtools/rust/rust-cross-canadian.inc
> index 7bfef6d175..94c3b0d696 100644
> --- a/meta/recipes-devtools/rust/rust-cross-canadian.inc
> +++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc
> @@ -54,6 +54,18 @@ do_install () {
> mkdir "${ENV_SETUP_DIR}"
> RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
>
> + # Set up environment variables for AArch64
> + if [ "${TARGET_ARCH}" == "aarch64" ]; then
change this check to '='
> + RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust-aarch64.sh"
> + RUST_TARGET_SYS="aarch64-unknown-linux-gnu"
> + # Set up environment variables for ARM
> + elif [ "${TARGET_ARCH}" == "arm" ]; then
> + RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust-arm.sh"
> + RUST_TARGET_SYS="arm-unknown-linux-gnueabi"
> + else
> + RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
> + fi
> +
> RUST_TARGET_TRIPLE=`echo ${RUST_TARGET_SYS} | tr '[:lower:]' '[:upper:]'
> | sed 's/-/_/g'`
> RUST_HOST_TRIPLE=`echo ${RUST_HOST_SYS} | tr '[:lower:]' '[:upper:]' |
> sed 's/-/_/g'`
> SDKLOADER=${@bb.utils.contains('SDK_ARCH', 'x86_64',
> 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'i686',
> 'ld-linux.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'aarch64',
> 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('SDK_ARCH', 'ppc64le',
> 'ld64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'riscv64',
> 'ld-linux-riscv64-lp64d.so.1', '', d)}
> @@ -67,6 +79,19 @@ do_install () {
> chown -R root.root ${D}
>
> CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
> +
> + # Set up environment variables for AArch64
> + if [ "${TARGET_ARCH}" = "aarch64" ]; then
> + CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo-aarch64.sh"
> + CARGO_TARGET_SYS="aarch64-unknown-linux-gnu"
> + # Set up environment variables for ARM
> + elif [ "${TARGET_ARCH}" == "arm" ]; then
same here
> + CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo-arm.sh"
> + CARGO_TARGET_SYS="arm-unknown-linux-gnueabi"
> + else
> + CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
> + fi
> +
> cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
> export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
> mkdir -p "\$CARGO_HOME"
> --
> 2.42.0
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#190305):
https://lists.openembedded.org/g/openembedded-core/message/190305
Mute This Topic: https://lists.openembedded.org/mt/102459344/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-