* [PATCH V2 1/2] rust: fix for rust multilib sdk configuration
@ 2025-01-16 13:48 Harish.Sadineni
2025-01-16 13:48 ` [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk Harish.Sadineni
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Harish.Sadineni @ 2025-01-16 13:48 UTC (permalink / raw)
To: openembedded-core; +Cc: Randy.MacLeod, Sundeep.Kokkonda, Shivaprasad.Moodalappa
From: Harish Sadineni <Harish.Sadineni@windriver.com>
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.
- Removed the redundant cargo config file from the 'rust-cross-canadian.inc' file.
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
---
meta/recipes-devtools/rust/cargo_1.81.0.bb | 15 +++++++++++
.../rust/rust-cross-canadian.inc | 27 ++-----------------
meta/recipes-devtools/rust/rust_1.81.0.bb | 13 +++++++++
3 files changed, 30 insertions(+), 25 deletions(-)
diff --git a/meta/recipes-devtools/rust/cargo_1.81.0.bb b/meta/recipes-devtools/rust/cargo_1.81.0.bb
index 123032cdf7..d05b076d30 100644
--- a/meta/recipes-devtools/rust/cargo_1.81.0.bb
+++ b/meta/recipes-devtools/rust/cargo_1.81.0.bb
@@ -50,8 +50,23 @@ do_install:append:class-nativesdk() {
# sets to libdir but not base_libdir leading to symbol mismatches depending on the
# host OS. Fully set LD_LIBRARY_PATH to contain both to avoid this.
create_wrapper ${D}/${bindir}/cargo LD_LIBRARY_PATH=${libdir}:${base_libdir}
+
+ ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
+ mkdir "${ENV_SETUP_DIR}"
+ CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
+
+ cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
+ # Keep the below off as long as HTTP/2 is disabled.
+ export CARGO_HTTP_MULTIPLEXING=false
+
+ export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
+ EOF
+
+ chown -R root.root ${D}
}
+FILES:${PN} += "${base_prefix}/environment-setup.d"
+
# Disabled due to incompatibility with libgit2 0.28.x (https://github.com/rust-lang/git2-rs/issues/458, https://bugs.gentoo.org/707746#c1)
# as shipped by Yocto Dunfell.
# According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc b/meta/recipes-devtools/rust/rust-cross-canadian.inc
index c34b839d15..e4457d0539 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian.inc
+++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc
@@ -54,39 +54,16 @@ do_install () {
ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
mkdir "${ENV_SETUP_DIR}"
- RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
+ RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/${RUST_TARGET_SYS}_rust.sh"
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)}
cat <<- EOF > "${RUST_ENV_SETUP_SH}"
export CARGO_TARGET_${RUST_TARGET_TRIPLE}_RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT"
- export CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}"
- export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
+ export RUST_TARGET_PATH="\$RUST_TARGET_PATH:\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
EOF
chown -R root.root ${D}
-
- CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
- cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
- export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
- mkdir -p "\$CARGO_HOME"
- # Init the default target once, it might be otherwise user modified.
- if [ ! -f "\$CARGO_HOME/config" ]; then
- touch "\$CARGO_HOME/config"
- echo "[build]" >> "\$CARGO_HOME/config"
- echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config"
- echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
- echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config"
- echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
- fi
-
- # Keep the below off as long as HTTP/2 is disabled.
- export CARGO_HTTP_MULTIPLEXING=false
-
- export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
- EOF
}
FILES:${PN} += "${base_prefix}/environment-setup.d"
diff --git a/meta/recipes-devtools/rust/rust_1.81.0.bb b/meta/recipes-devtools/rust/rust_1.81.0.bb
index b583508456..24a0319dbe 100644
--- a/meta/recipes-devtools/rust/rust_1.81.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.81.0.bb
@@ -272,8 +272,21 @@ rust_do_install:class-nativesdk() {
rm ${D}${libdir}/rustlib/install.log
rm ${D}${libdir}/rustlib/manifest*
rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/lib/libstd*.so
+
+ ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
+ mkdir "${ENV_SETUP_DIR}"
+ RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
+ 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)}
+
+ cat <<- EOF > "${RUST_ENV_SETUP_SH}"
+ export CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}"
+ EOF
+ chown -R root.root ${D}
}
+FILES:${PN} += "${base_prefix}/environment-setup.d"
+
EXTRA_TOOLS ?= "cargo-clippy clippy-driver rustfmt"
rust_do_install:class-target() {
export PSEUDO_UNLOAD=1
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk
2025-01-16 13:48 [PATCH V2 1/2] rust: fix for rust multilib sdk configuration Harish.Sadineni
@ 2025-01-16 13:48 ` Harish.Sadineni
2025-01-21 15:37 ` [OE-core] " Ross Burton
2025-01-16 14:02 ` Patchtest results for [PATCH V2 1/2] rust: fix for rust multilib sdk configuration patchtest
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Harish.Sadineni @ 2025-01-16 13:48 UTC (permalink / raw)
To: openembedded-core; +Cc: Randy.MacLeod, Sundeep.Kokkonda, Shivaprasad.Moodalappa
From: Harish Sadineni <Harish.Sadineni@windriver.com>
The do_testsdk for lib32-core-image-sato aborts with below error:
configure: error: Package requirements (gtk+-3.0) were not met:
No package 'gtk+-3.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
This cuases due to an absolute path name in 'sdk_env', which is now stripped to have only the environment name.
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
---
meta/lib/oeqa/sdk/context.py | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/meta/lib/oeqa/sdk/context.py b/meta/lib/oeqa/sdk/context.py
index 01c38c24e6..77e6a98f39 100644
--- a/meta/lib/oeqa/sdk/context.py
+++ b/meta/lib/oeqa/sdk/context.py
@@ -41,11 +41,13 @@ class OESDKTestContext(OETestContext):
def hasTargetPackage(self, pkg, multilib=False, regex=False):
if multilib:
- # match multilib according to sdk_env
- mls = self.td.get('MULTILIB_VARIANTS', '').split()
- for ml in mls:
- if ('ml'+ml) in self.sdk_env:
- pkg = ml + '-' + pkg
+ stripped_sdk_env = os.path.basename(self.sdk_env)
+ if stripped_sdk_env.startswith('environment-setup-'):
+ # match multilib according to sdk_env
+ mls = self.td.get('MULTILIB_VARIANTS', '').split()
+ for ml in mls:
+ if ('ml'+ml) in stripped_sdk_env:
+ pkg = ml + '-' + pkg
return self._hasPackage(self.target_pkg_manifest, pkg, regex=regex)
class OESDKTestContextExecutor(OETestContextExecutor):
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [OE-core] [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk
2025-01-16 13:48 ` [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk Harish.Sadineni
@ 2025-01-21 15:37 ` Ross Burton
2025-01-22 8:12 ` Sadineni, Harish
0 siblings, 1 reply; 8+ messages in thread
From: Ross Burton @ 2025-01-21 15:37 UTC (permalink / raw)
To: Harish.Sadineni@windriver.com
Cc: openembedded-core@lists.openembedded.org,
Randy.MacLeod@windriver.com, Sundeep.Kokkonda@windriver.com,
Shivaprasad.Moodalappa@windriver.com
On 16 Jan 2025, at 13:48, Sadineni, Harish via lists.openembedded.org <Harish.Sadineni=windriver.com@lists.openembedded.org> wrote:
>
> From: Harish Sadineni <Harish.Sadineni@windriver.com>
>
> The do_testsdk for lib32-core-image-sato aborts with below error:
> configure: error: Package requirements (gtk+-3.0) were not met:
> No package 'gtk+-3.0' found
> Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
>
> This cuases due to an absolute path name in 'sdk_env', which is now stripped to have only the environment name.
Can you give more context as to how this fails? The current code does a substring match so it’s not clear how this breaks, and why the AB doesn’t fail when it should be exercising multilib SDKs already.
Cheers,
Ross
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [OE-core] [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk
2025-01-21 15:37 ` [OE-core] " Ross Burton
@ 2025-01-22 8:12 ` Sadineni, Harish
0 siblings, 0 replies; 8+ messages in thread
From: Sadineni, Harish @ 2025-01-22 8:12 UTC (permalink / raw)
To: Ross Burton
Cc: openembedded-core@lists.openembedded.org, MacLeod, Randy,
Kokkonda, Sundeep, Moodalappa, Shivaprasad
[-- Attachment #1: Type: text/plain, Size: 3051 bytes --]
>>Can you give more context as to how this fails? The current code does a substring match so it’s not clear >>how this breaks,
When building with bitbake lib32-core-image-sato for multilib, lib32 packages are generated. After populating the SDK, when running testsdk, the gtk+3 test should be skipped if the gtk package is not present.
For example, when running "bitbake lib32-core-image-sato -c testsdk" testing the following environments:
sdk_env for environment-setup-armv7at2hf-neon-pokymllib32-linux-gnueabi:
/home/poky/build/tmp/work/qemuarm64-pokymllib32-linux-gnueabi/lib32-core-image-sato/1.0/testimage-sdk/environment-setup-armv7at2hf-neon-pokymllib32-linux-gnueabi
sdk_env for environment-setup-cortexa57-poky-linux:
/home/poky/build/tmp/work/qemuarm64-pokymllib32-linux-gnueabi/lib32-core-image-sato/1.0/testimage-sdk/environment-setup-cortexa57-poky-linux
if ('ml' + ml) in self.sdk_env:
pkg = ml + '-' + pkg
This code looks if mllib32 present in sdk_env. However, when testing with environment-setup-cortexa57-poky-linux, the code looks for the lib32-gtk+3 package instead of gtk+3 package due to mllib32 string is present in sdk_env. As a result, it incorrectly identifies the package as present, causing the test not to be skipped. This leads to an error during test execution.
>>and why the AB doesn’t fail when it should be exercising multilib SDKs already
May be in AutoBuilder we will not check for lib32-core-image-sato, this might be reason why it doesn't fail .
thanks,
Harish
________________________________
From: Ross Burton <Ross.Burton@arm.com>
Sent: Tuesday, January 21, 2025 9:07 PM
To: Sadineni, Harish <Harish.Sadineni@windriver.com>
Cc: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; MacLeod, Randy <Randy.MacLeod@windriver.com>; Kokkonda, Sundeep <Sundeep.Kokkonda@windriver.com>; Moodalappa, Shivaprasad <Shivaprasad.Moodalappa@windriver.com>
Subject: Re: [OE-core] [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.
On 16 Jan 2025, at 13:48, Sadineni, Harish via lists.openembedded.org <Harish.Sadineni=windriver.com@lists.openembedded.org> wrote:
>
> From: Harish Sadineni <Harish.Sadineni@windriver.com>
>
> The do_testsdk for lib32-core-image-sato aborts with below error:
> configure: error: Package requirements (gtk+-3.0) were not met:
> No package 'gtk+-3.0' found
> Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
>
> This cuases due to an absolute path name in 'sdk_env', which is now stripped to have only the environment name.
Can you give more context as to how this fails? The current code does a substring match so it’s not clear how this breaks, and why the AB doesn’t fail when it should be exercising multilib SDKs already.
Cheers,
Ross
[-- Attachment #2: Type: text/html, Size: 6455 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Patchtest results for [PATCH V2 1/2] rust: fix for rust multilib sdk configuration
2025-01-16 13:48 [PATCH V2 1/2] rust: fix for rust multilib sdk configuration Harish.Sadineni
2025-01-16 13:48 ` [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk Harish.Sadineni
@ 2025-01-16 14:02 ` patchtest
2025-01-16 15:09 ` [OE-core] " Richard Purdie
2025-01-22 14:17 ` [OE-core] " Esben Haabendal
3 siblings, 0 replies; 8+ messages in thread
From: patchtest @ 2025-01-16 14:02 UTC (permalink / raw)
To: Harish.Sadineni; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 2999 bytes --]
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:
---
Testing patch /home/patchtest/share/mboxes/V2-1-2-rust-fix-for-rust-multilib-sdk-configuration.patch
FAIL: test max line length: Patch line too long (current length 375, maximum is 200) (test_metadata.TestMetadata.test_max_line_length)
PASS: pretest src uri left files (test_metadata.TestMetadata.pretest_src_uri_left_files)
PASS: test CVE check ignore (test_metadata.TestMetadata.test_cve_check_ignore)
PASS: test Signed-off-by presence (test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test commit message user tags (test_mbox.TestMbox.test_commit_message_user_tags)
PASS: test lic files chksum modified not mentioned (test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
PASS: test mbox format (test_mbox.TestMbox.test_mbox_format)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test src uri left files (test_metadata.TestMetadata.test_src_uri_left_files)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)
SKIP: pretest pylint: No python related patches, skipping test (test_python_pylint.PyLint.pretest_pylint)
SKIP: test CVE tag format: No new CVE patches introduced (test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: No new CVE patches introduced (test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: No new CVE patches introduced (test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test lic files chksum presence: No added recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test (test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: No python related patches, skipping test (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test summary presence: No added recipes, skipping test (test_metadata.TestMetadata.test_summary_presence)
---
Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [OE-core] [PATCH V2 1/2] rust: fix for rust multilib sdk configuration
2025-01-16 13:48 [PATCH V2 1/2] rust: fix for rust multilib sdk configuration Harish.Sadineni
2025-01-16 13:48 ` [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk Harish.Sadineni
2025-01-16 14:02 ` Patchtest results for [PATCH V2 1/2] rust: fix for rust multilib sdk configuration patchtest
@ 2025-01-16 15:09 ` Richard Purdie
2025-01-16 15:52 ` Sundeep KOKKONDA
2025-01-22 14:17 ` [OE-core] " Esben Haabendal
3 siblings, 1 reply; 8+ messages in thread
From: Richard Purdie @ 2025-01-16 15:09 UTC (permalink / raw)
To: Harish.Sadineni, openembedded-core
Cc: Randy.MacLeod, Sundeep.Kokkonda, Shivaprasad.Moodalappa
On Thu, 2025-01-16 at 05:48 -0800, Sadineni, Harish via lists.openembedded.org wrote:
> From: Harish Sadineni <Harish.Sadineni@windriver.com>
>
> 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.
> - Removed the redundant cargo config file from the 'rust-cross-canadian.inc' file.
>
> Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
> ---
> meta/recipes-devtools/rust/cargo_1.81.0.bb | 15 +++++++++++
> .../rust/rust-cross-canadian.inc | 27 ++-----------------
> meta/recipes-devtools/rust/rust_1.81.0.bb | 13 +++++++++
> 3 files changed, 30 insertions(+), 25 deletions(-)
Thanks for the patch. Just to confirm, are you saying we no longer need
the $CARGO_HOME/config file?
Cheers,
Richard
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [OE-core] [PATCH V2 1/2] rust: fix for rust multilib sdk configuration
2025-01-16 13:48 [PATCH V2 1/2] rust: fix for rust multilib sdk configuration Harish.Sadineni
` (2 preceding siblings ...)
2025-01-16 15:09 ` [OE-core] " Richard Purdie
@ 2025-01-22 14:17 ` Esben Haabendal
3 siblings, 0 replies; 8+ messages in thread
From: Esben Haabendal @ 2025-01-22 14:17 UTC (permalink / raw)
To: Sadineni, Harish via lists.openembedded.org
Cc: openembedded-core, Harish.Sadineni, Randy.MacLeod,
Sundeep.Kokkonda, Shivaprasad.Moodalappa
"Sadineni, Harish via lists.openembedded.org"
<Harish.Sadineni=windriver.com@lists.openembedded.org> writes:
> From: Harish Sadineni <Harish.Sadineni@windriver.com>
>
> 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.
> - Removed the redundant cargo config file from the 'rust-cross-canadian.inc' file.
>
> Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
> ---
> meta/recipes-devtools/rust/cargo_1.81.0.bb | 15 +++++++++++
> .../rust/rust-cross-canadian.inc | 27 ++-----------------
> meta/recipes-devtools/rust/rust_1.81.0.bb | 13 +++++++++
> 3 files changed, 30 insertions(+), 25 deletions(-)
>
> diff --git a/meta/recipes-devtools/rust/cargo_1.81.0.bb b/meta/recipes-devtools/rust/cargo_1.81.0.bb
> index 123032cdf7..d05b076d30 100644
> --- a/meta/recipes-devtools/rust/cargo_1.81.0.bb
> +++ b/meta/recipes-devtools/rust/cargo_1.81.0.bb
> @@ -50,8 +50,23 @@ do_install:append:class-nativesdk() {
> # sets to libdir but not base_libdir leading to symbol mismatches depending on the
> # host OS. Fully set LD_LIBRARY_PATH to contain both to avoid this.
> create_wrapper ${D}/${bindir}/cargo LD_LIBRARY_PATH=${libdir}:${base_libdir}
> +
> + ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
> + mkdir "${ENV_SETUP_DIR}"
> + CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
> +
> + cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
> + # Keep the below off as long as HTTP/2 is disabled.
> + export CARGO_HTTP_MULTIPLEXING=false
> +
> + export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
> + EOF
> +
> + chown -R root.root ${D}
You should probably cleanup the mixed use of tabs and spaces above.
/Esben
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-01-22 14:17 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-16 13:48 [PATCH V2 1/2] rust: fix for rust multilib sdk configuration Harish.Sadineni
2025-01-16 13:48 ` [PATCH V2 2/2] oeqa/sdk/context: fix for gtk3 test failure during do_testsdk Harish.Sadineni
2025-01-21 15:37 ` [OE-core] " Ross Burton
2025-01-22 8:12 ` Sadineni, Harish
2025-01-16 14:02 ` Patchtest results for [PATCH V2 1/2] rust: fix for rust multilib sdk configuration patchtest
2025-01-16 15:09 ` [OE-core] " Richard Purdie
2025-01-16 15:52 ` Sundeep KOKKONDA
2025-01-22 14:17 ` [OE-core] " Esben Haabendal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox