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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to