Re: [OE-core][PATCH v2 1/3] rust-cross-canadian: set CARGO_TARGET__RUSTFLAGS

2023-10-06 Thread Alexandre Belloni via lists.openembedded.org
Hello,

I believe this series causes this kind of failures:

https://autobuilder.yoctoproject.org/typhoon/#/builders/73/builds/7857/steps/17/logs/stdio

  File 
"/home/pokybuild/yocto-worker/qemux86-64/build/meta/lib/oeqa/sdk/cases/rust.py",
 line 57, in test_cargo_build
self._run('cd %s/hello; cargo run --target %s-gnu' % (self.tc.sdk_dir, 
sdksys))
  File 
"/home/pokybuild/yocto-worker/qemux86-64/build/meta/lib/oeqa/sdk/case.py", line 
14, in _run
return subprocess.check_output(". %s > /dev/null; %s;" % \
   ^^^
  File 
"/home/pokybuild/yocto-worker/qemux86-64/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/subprocess.py",
 line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
   ^
  File 
"/home/pokybuild/yocto-worker/qemux86-64/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/subprocess.py",
 line 571, in run
raise CalledProcessError(retcode, process.args,
oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. 
/home/pokybuild/yocto-worker/qemux86-64/build/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0/testimage-sdk/environment-setup-core2-64-poky-linux
 > /dev/null; cd 
/home/pokybuild/yocto-worker/qemux86-64/build/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0/testimage-sdk//hello;
 cargo run --target i686-pokysdk-linux-gnu;' returned non-zero exit status 101
Standard Output: Finished dev [unoptimized + debuginfo] target(s) in 0.03s
 Running 
`/home/pokybuild/yocto-worker/qemux86-64/build/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0/testimage-sdk/sysroots/i686-pokysdk-linux/lib/ld-linux-i686.so.2
 target/i686-pokysdk-linux-gnu/debug/hello`
error: could not execute process 
`/home/pokybuild/yocto-worker/qemux86-64/build/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0/testimage-sdk/sysroots/i686-pokysdk-linux/lib/ld-linux-i686.so.2
 target/i686-pokysdk-linux-gnu/debug/hello` (never executed)
Caused by:
  No such file or directory (os error 2)


On 03/10/2023 09:06:28+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 
> ---
>  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 (#188794): 
https://lists.openembedded.org/g/openembedded-core/message/188794
Mute This Topic: https://lists.openembedded.org/mt/101729592/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v2 1/3] rust-cross-canadian: set CARGO_TARGET__RUSTFLAGS

2023-10-03 Thread Sean Nyekjaer
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 
---
 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


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#188625): 
https://lists.openembedded.org/g/openembedded-core/message/188625
Mute This Topic: https://lists.openembedded.org/mt/101729592/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-