[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    Re: [OE-core][PATCH 1/3] rust-cross-canadian: set CARGO_TARGET_<triple>_RUSTFLAGS
From:       "Alexandre Belloni via lists.openembedded.org" <alexandre.belloni=bootlin.com () li
Date:       2023-09-30 10:45:13
Message-ID: 20230930104513751864bd () mail ! local
[Download RAW message or body]

Hello,

This series causes those rust.RustHostCompileTest.test_cargo_build failures:

https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/7879/steps/13/logs/stdio


RustCompileTest class: SDK doesn't contain a Rust cross-canadian toolchain
RustCompileTest class: SDK doesn't contain a Rust cross-canadian toolchain
EpoxyTest class: SDK doesn't contain Meson
GalculatorTest class: SDK don't support gtk+3
No perl package in the SDK
No python3 package in the SDK
RustCompileTest class: SDK doesn't contain a Rust cross-canadian toolchain
RustCompileTest class: SDK doesn't contain a Rust cross-canadian toolchain
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/qemuarm/build/meta/lib/oeqa/sdk/cases/rust.py", \
line 56, in test_cargo_build  self._run('cd %s/hello; cargo build --target \
%s-oesdk-linux-gnu' % (self.tc.sdk_dir, machine))  File \
"/home/pokybuild/yocto-worker/qemuarm/build/meta/lib/oeqa/sdk/case.py", line 14, in \
_run  return subprocess.check_output(". %s > /dev/null; %s;" % \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. \
/home/pokybuild/yocto-worker/qemuarm/build/build/tmp/work/qemuarm-poky-linux-gnueabi/c \
ore-image-sato/1.0/testimage-sdk/environment-setup-cortexa15t2hf-neon-poky-linux-gnueabi \
> /dev/null; cd /home/pokybuild/yocto-worker/qemuarm/build/build/tmp/work/qemuarm-poky-linux-gnueabi/core-image-sato/1.0/testimage-sdk//hello; \
> cargo build --target x86_64-oesdk-linux-gnu;' returned non-zero exit status 101
Standard Output: error: failed to run `rustc` to learn about target-specific \
information Caused by:
  process didn't exit successfully: `rustc - --crate-name ___ --print=file-names \
--target x86_64-oesdk-linux-gnu --crate-type bin --crate-type rlib --crate-type dylib \
--crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot \
                --print=split-debuginfo --print=crate-name --print=cfg` (exit status: \
                1)
  --- stderr
  error: Error loading target specification: Could not find specification for target \
"x86_64-oesdk-linux-gnu". Run `rustc --print target-list` for a list of built-in \
targets


https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/7858/steps/15/logs/stdio


Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/lib/oeqa/sdk/cases/rust.py", \
line 57, in test_cargo_build  self._run('cd %s/hello; cargo run --target \
%s-oesdk-linux-gnu' % (self.tc.sdk_dir, machine))  File \
"/home/pokybuild/yocto-worker/qemuarm-oecore/build/meta/lib/oeqa/sdk/case.py", line \
14, in _run  return subprocess.check_output(". %s > /dev/null; %s;" % \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. \
/home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/qemuarm-oe-linu \
x-gnueabi/core-image-sato/1.0/testimage-sdk/environment-setup-cortexa15t2hf-neon-oe-linux-gnueabi \
> /dev/null; cd /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/qemuarm-oe-linux-gnueabi/core-image-sato/1.0/testimage-sdk//hello; \
> cargo run --target i686-oesdk-linux-gnu;' returned non-zero exit status 101
Standard Output:     Finished dev [unoptimized + debuginfo] target(s) in 0.04s
     Running `/home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/q \
emuarm-oe-linux-gnueabi/core-image-sato/1.0/testimage-sdk/sysroots/i686-oesdk-linux/lib/ld-linux-i686.so.2 \
                target/i686-oesdk-linux-gnu/debug/hello`
error: could not execute process \
`/home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/qemuarm-oe-lin \
ux-gnueabi/core-image-sato/1.0/testimage-sdk/sysroots/i686-oesdk-linux/lib/ld-linux-i686.so.2 \
target/i686-oesdk-linux-gnu/debug/hello` (never executed) Caused by:
  No such file or directory (os error 2)

On 29/09/2023 12:19:21+0200, Sean Nyekjaer wrote:
> Avoid setting sdk-wide RUSTFLAGS as these flags only are valid when
> building for target.
> This will enable building for different targets with different
> RUSTFLAGS.
> 
> Signed-off-by: Sean Nyekjaer <sean@geanix.com>
> ---
> meta/recipes-devtools/rust/rust-cross-canadian.inc | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc \
> b/meta/recipes-devtools/rust/rust-cross-canadian.inc index d569ac59f5..d25646237c \
>                 100644
> --- a/meta/recipes-devtools/rust/rust-cross-canadian.inc
> +++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc
> @@ -54,8 +54,10 @@ do_install () {
> mkdir "${ENV_SETUP_DIR}"
> RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
> 
> +    RUST_TARGET_TRIPLE=`echo ${RUST_TARGET_SYS} | tr '[:lower:]' '[:upper:]' | sed \
> 's/-/_/g'` +
> cat <<- EOF > "${RUST_ENV_SETUP_SH}"
> -	export RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr -C \
> link-arg=--sysroot=\$OECORE_TARGET_SYSROOT" +	export \
> CARGO_TARGET_${RUST_TARGET_TRIPLE}_RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr \
> -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT"  export \
> RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"  EOF
> 
> -- 
> 2.42.0
> 

> 
> 
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#188456): https://lists.openembedded.org/g/openembedded-core/message/188456
Mute This Topic: https://lists.openembedded.org/mt/101654701/4454766
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [openembedded-core@marc.info]
-=-=-=-=-=-=-=-=-=-=-=-



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic