Message ID | 20231003070632.1040011-1-sean@geanix.com |
---|---|
State | New |
Headers | show |
Series | [v2,1/3] rust-cross-canadian: set CARGO_TARGET_<triple>_RUSTFLAGS | expand |
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 <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 > > > -=-=-=-=-=-=-=-=-=-=-=- > 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/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
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
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(-)