* [v3] [RFC] Merge meta-rust to oe-core @ 2021-08-11 0:22 Randy MacLeod 2021-08-11 13:14 ` Randy MacLeod 0 siblings, 1 reply; 23+ messages in thread From: Randy MacLeod @ 2021-08-11 0:22 UTC (permalink / raw) To: Richard Purdie Cc: openembedded-core, steven, johan.anderholm, derek, Paul Barker, cardoe, dev, tylerwhall, Khem Raj, Vinay Kumar, Wold, Saul, Martin Jansa I started working on the merge of meta-rust to oe-core again. CCing widely at the beginning this time. Please reply to me privately if you want to be dropped. I really need other people to sign up as [co-]maintainers! I pushed what I did today to: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-10-2021-a $ git log --stat below. I've only started but so far, what I see is that, as expected, rust-hello-world works for qemux86-64, qemuarm and likely other targets. I'm doing a buildall-qemu overnight. The oe-selftests that we had problems with before are still a problem: oe-selftest still has at least three tests failing: 1. oe-selftest -r distrodata.Distrodata.test_maintainers This is due having two versions of cargo and rust. --> I'll remove 1.51 unless people object. 2. oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs I've just started to look at these test failures. $ bitbake-dump-sigs shows a diff like: List of dependencies for variable BASEDEPENDS is set() List of dependencies for variable BUILD_AR is {'BUILD_PREFIX'} -List of dependencies for variable BUILD_AS is {'BUILD_PREFIX', 'BUILD_AS_ARCH'} +List of dependencies for variable BUILD_AS is {'BUILD_AS_ARCH', 'BUILD_PREFIX'} List of dependencies for variable BUILD_AS_ARCH is set() -List of dependencies for variable BUILD_CC is {'BUILD_PREFIX', 'BUILD_CC_ARCH'} -List of dependencies for variable BUILD_CCLD is {'BUILD_PREFIX', 'BUILD_CC_ARCH'} +List of dependencies for variable BUILD_CC is {'BUILD_CC_ARCH', 'BUILD_PREFIX'} +List of dependencies for variable BUILD_CCLD is {'BUILD_CC_ARCH', 'BUILD_PREFIX'} List of dependencies for variable BUILD_CC_ARCH is set() Tips welcome! Btw, I know that the rust community is working on reproducibility: https://github.com/rust-lang/rust/labels/A-reproducibility This diffsigs problem may be related but I haven't looked at the issue long enough yet to tell. 4. I'll run a test on the autobuilder to see if the debian build from Feb is still a problem: rust-native doesn't build on debian8: https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/40/steps/13/logs/stdio I'll run buildall-qemu rust-hello-world overnight. Thanks, ../Randy $ git log --stat origin/master..HEAD commit 725c11999a38244cc28e1d1fe17a7e05c5bdb7a3 Author: Randy MacLeod <randy.macleod@windriver.com> Date: Wed Feb 24 20:48:23 2021 maintainers: Add myself as maintainer for rust pkgs I'm willing to do the rust package maintenance but if anyone else wants to sign up, that would be welcome. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> meta/conf/distro/include/maintainers.inc | 10 ++++++++++ 1 file changed, 10 insertions(+) commit a658c5c7fac6160f7720bbf30ae35ccc143fcb57 Author: Randy MacLeod <randy.macleod@windriver.com> Date: Wed Feb 24 20:48:22 2021 cargo/rust/rustfmt: exclude from world cargo, rust, and rustfmt can't be built for the targets yet so exclude them from world builds. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> meta/recipes-devtools/cargo/cargo.inc | 1 + meta/recipes-example/rustfmt/rustfmt_1.4.2.bb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) commit 8860562733d7cce3cede27fc611f984a2d9351d6 Author: Randy MacLeod <randy.macleod@windriver.com> Date: Wed Feb 24 20:48:20 2021 rust: update the README to conform to being in oe-core Provide the full link to the meta-rust issue since the README is no longer part of meta-rust. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> meta/recipes-devtools/rust/README-rust.md | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) commit 7398219dcfffe746038d36bbbaacbd52265a3fc7 Author: Randy MacLeod <randy.macleod@windriver.com> Date: Wed Feb 24 20:48:18 2021 rust: mv README.md to recipes-devtools/rust/README-rust.md Import the meta-rust/README.md but relocate and rename it. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> meta/recipes-devtools/rust/README-rust.md | 69 +++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) commit 80586a849e1c725310f58ed9705febf97bc00bda Author: Randy MacLeod <Randy.MacLeod@windriver.com> Date: Tue Aug 10 13:52:19 2021 rust: initial merge of most of meta-rust In the meta-rust repo at commit: 448047c Upgrade to 1.54.0 (#359) Make the required directories: mkdir ../oe-core/meta/recipes-devtools/rust mkdir ../oe-core/meta/recipes-devtools/cargo mkdir ../oe-core/meta/recipes-example and then: cp recipes-devtools/rust/* ../oe-core/meta/recipes-devtools/rust cp recipes-devtools/cargo/* ../oe-core/meta/recipes-devtools/cargo cp lib/crate.py ../oe-core/meta/lib cp recipes-example/* ../oe-core/meta/recipes-example cp conf/distro/include/rust_* ../oe-core/meta/conf/distro/include/ cp classes/* ../oe-core/meta/classes/ cp recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb ../oe-core/meta/recipes-core/packagegroups Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> meta/classes/cargo.bbclass | 89 ++ meta/classes/cargo_common.bbclass | 129 +++ meta/classes/crate-fetch.bbclass | 13 + meta/classes/rust-bin.bbclass | 149 ++++ meta/classes/rust-common.bbclass | 174 ++++ meta/classes/rust.bbclass | 45 + meta/conf/distro/include/rust_security_flags.inc | 7 + meta/conf/distro/include/rust_versions.inc | 13 + meta/lib/crate.py | 149 ++++ .../packagegroup-rust-cross-canadian.bb | 18 + .../cargo/cargo-1.51.0/0001-Disable-http2.patch | 28 + .../cargo/cargo-1.51.0/riscv-march.patch | 73 ++ .../cargo/cargo-1.51.0/rv64gc.patch | 37 + .../cargo/cargo-cross-canadian.inc | 74 ++ .../cargo/cargo-cross-canadian_1.51.0.bb | 6 + .../cargo/cargo-cross-canadian_1.54.0.bb | 6 + meta/recipes-devtools/cargo/cargo.inc | 50 ++ meta/recipes-devtools/cargo/cargo_1.51.0.bb | 8 + meta/recipes-devtools/cargo/cargo_1.54.0.bb | 4 + meta/recipes-devtools/rust/files/riscv-march.patch | 73 ++ meta/recipes-devtools/rust/files/rv64gc.patch | 37 + ...001-Add-base-definitions-for-riscv64-musl.patch | 904 ++++++++++++++++++++ ...-linux-musl-mod.rs-add-riscv64-to-b64-set.patch | 29 + ...3-FIXUP-Correct-definitions-to-match-musl.patch | 740 +++++++++++++++++ ...pdate-1.51.0-checksums-for-modified-files.patch | 21 + .../0004-Update-checksums-for-modified-files.patch | 21 + ...-definitions-for-riscv64-musl-libc-0.2.93.patch | 905 +++++++++++++++++++++ ...-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch | 31 + ...ect-definitions-to-match-musl-libc-0.2.93.patch | 741 +++++++++++++++++ ...ksums-for-modified-files-for-rust-1.54.0-.patch | 23 + meta/recipes-devtools/rust/libstd-rs.inc | 40 + meta/recipes-devtools/rust/libstd-rs_1.51.0.bb | 12 + meta/recipes-devtools/rust/libstd-rs_1.54.0.bb | 11 + meta/recipes-devtools/rust/rust-common.inc | 346 ++++++++ .../rust/rust-cross-canadian-common.inc | 53 ++ meta/recipes-devtools/rust/rust-cross-canadian.inc | 78 ++ .../rust/rust-cross-canadian_1.51.0.bb | 6 + .../rust/rust-cross-canadian_1.54.0.bb | 6 + meta/recipes-devtools/rust/rust-cross.inc | 71 ++ meta/recipes-devtools/rust/rust-cross_1.51.0.bb | 2 + meta/recipes-devtools/rust/rust-cross_1.54.0.bb | 2 + meta/recipes-devtools/rust/rust-llvm.inc | 63 ++ .../rust-llvm/0001-nfc-Fix-missing-include.patch | 26 + .../0002-llvm-allow-env-override-of-exe-path.patch | 32 + meta/recipes-devtools/rust/rust-llvm_1.51.0.bb | 7 + meta/recipes-devtools/rust/rust-llvm_1.54.0.bb | 5 + .../recipes-devtools/rust/rust-snapshot-1.51.0.inc | 18 + .../recipes-devtools/rust/rust-snapshot-1.54.0.inc | 18 + meta/recipes-devtools/rust/rust-snapshot.inc | 9 + meta/recipes-devtools/rust/rust-source-1.51.0.inc | 3 + meta/recipes-devtools/rust/rust-source-1.54.0.inc | 3 + meta/recipes-devtools/rust/rust-source.inc | 3 + meta/recipes-devtools/rust/rust-target.inc | 10 + .../rust/rust-tools-cross-canadian.inc | 38 + .../rust/rust-tools-cross-canadian_1.51.0.bb | 6 + .../rust/rust-tools-cross-canadian_1.54.0.bb | 6 + meta/recipes-devtools/rust/rust.inc | 193 +++++ ...t-Fix-dash-vs-underscore-mismatches-in-op.patch | 75 ++ meta/recipes-devtools/rust/rust_1.51.0.bb | 16 + meta/recipes-devtools/rust/rust_1.54.0.bb | 11 + .../rust-hello-world/0001-enable-LTO.patch | 23 + .../rust-hello-world/rust-hello-world_git.bb | 17 + meta/recipes-example/rustfmt/rustfmt_1.4.2.bb | 171 ++++ 63 files changed, 5977 insertions(+) -- # Randy MacLeod # Wind River Linux ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [v3] [RFC] Merge meta-rust to oe-core 2021-08-11 0:22 [v3] [RFC] Merge meta-rust to oe-core Randy MacLeod @ 2021-08-11 13:14 ` Randy MacLeod 2021-08-11 15:18 ` Randy MacLeod 2021-08-13 15:19 ` [OE-core] [v4] " Vinay Kumar 0 siblings, 2 replies; 23+ messages in thread From: Randy MacLeod @ 2021-08-11 13:14 UTC (permalink / raw) To: Richard Purdie Cc: openembedded-core, steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, Vinay Kumar, Wold, Saul, Martin Jansa, paul On 2021-08-10 8:22 p.m., Randy MacLeod wrote: > > I started working on the merge of meta-rust to oe-core again. > > CCing widely at the beginning this time. > Please reply to me privately if you want to be dropped. > > I really need other people to sign up as [co-]maintainers! > > I pushed what I did today to: > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-10-2021-a > > > $ git log --stat below. > > I've only started but so far, what I see is that, as expected, > rust-hello-world works for > qemux86-64, qemuarm and likely other targets. I'm doing a buildall-qemu > overnight. > > The oe-selftests that we had problems with before are still a problem: > > oe-selftest still has at least three tests failing: > > 1. > oe-selftest -r distrodata.Distrodata.test_maintainers > This is due having two versions of cargo and rust. > > --> I'll remove 1.51 unless people object. > > 2. > oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs > oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs > > I've just started to look at these test failures. > $ bitbake-dump-sigs shows a diff like: > > List of dependencies for variable BASEDEPENDS is set() > List of dependencies for variable BUILD_AR is {'BUILD_PREFIX'} > -List of dependencies for variable BUILD_AS is {'BUILD_PREFIX', > 'BUILD_AS_ARCH'} > +List of dependencies for variable BUILD_AS is {'BUILD_AS_ARCH', > 'BUILD_PREFIX'} > List of dependencies for variable BUILD_AS_ARCH is set() > -List of dependencies for variable BUILD_CC is {'BUILD_PREFIX', > 'BUILD_CC_ARCH'} > -List of dependencies for variable BUILD_CCLD is {'BUILD_PREFIX', > 'BUILD_CC_ARCH'} > +List of dependencies for variable BUILD_CC is {'BUILD_CC_ARCH', > 'BUILD_PREFIX'} > +List of dependencies for variable BUILD_CCLD is {'BUILD_CC_ARCH', > 'BUILD_PREFIX'} > List of dependencies for variable BUILD_CC_ARCH is set() > > Tips welcome! > > > Btw, I know that the rust community is working on reproducibility: > https://github.com/rust-lang/rust/labels/A-reproducibility > This diffsigs problem may be related but I haven't looked at the issue > long enough yet to tell. > > > 4. > I'll run a test on the autobuilder to see if the debian build from Feb > is still a problem: > rust-native doesn't build on debian8: > https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/40/steps/13/logs/stdio > > > > I'll run buildall-qemu rust-hello-world overnight. Results below. Vinay or I will look into glibc/qemuppc64 if no one else is working on that. The musl build failures are all alike with the error shown below. Has anyone see that before? ../Randy BUILDALL-QEMU LOG FOR rust-hello-world START TIME: 2021-08-10_17:23:20 HOSTNAME: ala-lpggp3 HOST OS: Ubuntu 18.04.3 LTS HOST KERNEL: 5.4.0-80-generic =============== BUILD RESULTS: [glibc] PASS: qemuriscv32 PASS: qemuarmv5 PASS: qemumips PASS: qemux86-64 PASS: qemuarm64 PASS: qemumips64 PASS: qemuarm PASS: qemuppc PASS: qemuriscv64 FAIL: qemuppc64 PASS: qemux86 [musl] FAIL: qemuriscv32 FAIL: qemuarmv5 FAIL: qemumips PASS: qemux86-64 PASS: qemuarm64 FAIL: qemumips64 FAIL: qemuarm FAIL: qemuppc FAIL: qemuriscv64 FAIL: qemuppc64 FAIL: qemux86 =============== PASSED: 12 FAILED: 10 --- Typical musl build failure log: Sstate summary: Wanted 62 Local 0 Network 0 Missed 62 Current 142 (0% match, 69% complete) NOTE: Executing Tasks ERROR: rust-cross-arm-1.54.0-r0 do_prepare_recipe_sysroot: Error executing a python function in exec_python_func() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:extend_recipe_sysroot(d) 0003: File: '/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/classes/staging.bbclass', lineno: 582, function: extend_recipe_sysroot 0578: if "/bin/" in l or "/sbin/" in l: 0579: # defer /*bin/* files until last in case they need libs 0580: binfiles[l] = (targetdir, dest) 0581: else: *** 0582: staging_copyfile(l, targetdir, dest, postinsts, seendirs) 0583: 0584: # Handle deferred binfiles 0585: for l in binfiles: 0586: (targetdir, dest) = binfiles[l] File: '/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/classes/staging.bbclass', lineno: 149, function: staging_copyfile 0145: if os.path.islink(c): 0146: linkto = os.readlink(c) 0147: if os.path.lexists(dest): 0148: if not os.path.islink(dest): *** 0149: raise OSError(errno.EEXIST, "Link %s already exists as a file" % dest, dest) 0150: if os.readlink(dest) == linkto: 0151: return dest 0152: raise OSError(errno.EEXIST, "Link %s already exists to a different location? (%s vs %s)" % (dest, os.readlink(dest), linkto), dest) 0153: os.symlink(linkto, dest) Exception: FileExistsError: [Errno 17] Link /ala-lpggp31/rmacleod/src/distro/yocto/b/rust-aug-10-master-redo-a/tmp/work/x86_64-linux/rust-cross-arm/1.54.0-r0/recipe-sysroot/usr/include/c++/11.2.0/arm-poky-linux' ERROR: Logfile of failure stored in: /ala-lpggp31/rmacleod/src/distro/yocto/b/rust-aug-10-master-redo-a/tmp/work/x86_64-linux/rust-cross-arm/1.54.0-r0/temp/log.do_prepare_recipe_sysroot.73161 ERROR: Task (/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_prepare_recipe_sysroot) failed with exit code '1' NOTE: Tasks Summary: Attempted 755 tasks of which 645 didn't need to be rerun and 1 failed. Summary: 1 task failed: /ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_prepare_recipe_sysroot Summary: There was 1 ERROR message shown, returning a non-zero exit code. > > Thanks, > > ../Randy > > > $ git log --stat origin/master..HEAD > commit 725c11999a38244cc28e1d1fe17a7e05c5bdb7a3 > Author: Randy MacLeod <randy.macleod@windriver.com> > Date: Wed Feb 24 20:48:23 2021 > > maintainers: Add myself as maintainer for rust pkgs > I'm willing to do the rust package maintenance but > if anyone else wants to sign up, that would be welcome. > Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > > meta/conf/distro/include/maintainers.inc | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > commit a658c5c7fac6160f7720bbf30ae35ccc143fcb57 > Author: Randy MacLeod <randy.macleod@windriver.com> > Date: Wed Feb 24 20:48:22 2021 > > cargo/rust/rustfmt: exclude from world > cargo, rust, and rustfmt can't be built for the targets yet > so exclude them from world builds. > Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > > meta/recipes-devtools/cargo/cargo.inc | 1 + > meta/recipes-example/rustfmt/rustfmt_1.4.2.bb | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > commit 8860562733d7cce3cede27fc611f984a2d9351d6 > Author: Randy MacLeod <randy.macleod@windriver.com> > Date: Wed Feb 24 20:48:20 2021 > > rust: update the README to conform to being in oe-core > Provide the full link to the meta-rust issue since > the README is no longer part of meta-rust. > Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > > meta/recipes-devtools/rust/README-rust.md | 25 +++++++------------------ > 1 file changed, 7 insertions(+), 18 deletions(-) > > commit 7398219dcfffe746038d36bbbaacbd52265a3fc7 > Author: Randy MacLeod <randy.macleod@windriver.com> > Date: Wed Feb 24 20:48:18 2021 > > rust: mv README.md to recipes-devtools/rust/README-rust.md > Import the meta-rust/README.md but relocate and rename it. > Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > > meta/recipes-devtools/rust/README-rust.md | 69 > +++++++++++++++++++++++++++++++ > 1 file changed, 69 insertions(+) > > commit 80586a849e1c725310f58ed9705febf97bc00bda > Author: Randy MacLeod <Randy.MacLeod@windriver.com> > Date: Tue Aug 10 13:52:19 2021 > > rust: initial merge of most of meta-rust > In the meta-rust repo at commit: > 448047c Upgrade to 1.54.0 (#359) > Make the required directories: > mkdir ../oe-core/meta/recipes-devtools/rust > mkdir ../oe-core/meta/recipes-devtools/cargo > mkdir ../oe-core/meta/recipes-example > and then: > cp recipes-devtools/rust/* ../oe-core/meta/recipes-devtools/rust > cp recipes-devtools/cargo/* ../oe-core/meta/recipes-devtools/cargo > cp lib/crate.py ../oe-core/meta/lib > cp recipes-example/* ../oe-core/meta/recipes-example > cp conf/distro/include/rust_* ../oe-core/meta/conf/distro/include/ > cp classes/* ../oe-core/meta/classes/ > cp recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb > ../oe-core/meta/recipes-core/packagegroups > Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > > meta/classes/cargo.bbclass | 89 ++ > meta/classes/cargo_common.bbclass | 129 +++ > meta/classes/crate-fetch.bbclass | 13 + > meta/classes/rust-bin.bbclass | 149 ++++ > meta/classes/rust-common.bbclass | 174 ++++ > meta/classes/rust.bbclass | 45 + > meta/conf/distro/include/rust_security_flags.inc | 7 + > meta/conf/distro/include/rust_versions.inc | 13 + > meta/lib/crate.py | 149 ++++ > .../packagegroup-rust-cross-canadian.bb | 18 + > .../cargo/cargo-1.51.0/0001-Disable-http2.patch | 28 + > .../cargo/cargo-1.51.0/riscv-march.patch | 73 ++ > .../cargo/cargo-1.51.0/rv64gc.patch | 37 + > .../cargo/cargo-cross-canadian.inc | 74 ++ > .../cargo/cargo-cross-canadian_1.51.0.bb | 6 + > .../cargo/cargo-cross-canadian_1.54.0.bb | 6 + > meta/recipes-devtools/cargo/cargo.inc | 50 ++ > meta/recipes-devtools/cargo/cargo_1.51.0.bb | 8 + > meta/recipes-devtools/cargo/cargo_1.54.0.bb | 4 + > meta/recipes-devtools/rust/files/riscv-march.patch | 73 ++ > meta/recipes-devtools/rust/files/rv64gc.patch | 37 + > ...001-Add-base-definitions-for-riscv64-musl.patch | 904 > ++++++++++++++++++++ > ...-linux-musl-mod.rs-add-riscv64-to-b64-set.patch | 29 + > ...3-FIXUP-Correct-definitions-to-match-musl.patch | 740 > +++++++++++++++++ > ...pdate-1.51.0-checksums-for-modified-files.patch | 21 + > .../0004-Update-checksums-for-modified-files.patch | 21 + > ...-definitions-for-riscv64-musl-libc-0.2.93.patch | 905 > +++++++++++++++++++++ > ...-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch | 31 + > ...ect-definitions-to-match-musl-libc-0.2.93.patch | 741 > +++++++++++++++++ > ...ksums-for-modified-files-for-rust-1.54.0-.patch | 23 + > meta/recipes-devtools/rust/libstd-rs.inc | 40 + > meta/recipes-devtools/rust/libstd-rs_1.51.0.bb | 12 + > meta/recipes-devtools/rust/libstd-rs_1.54.0.bb | 11 + > meta/recipes-devtools/rust/rust-common.inc | 346 ++++++++ > .../rust/rust-cross-canadian-common.inc | 53 ++ > meta/recipes-devtools/rust/rust-cross-canadian.inc | 78 ++ > .../rust/rust-cross-canadian_1.51.0.bb | 6 + > .../rust/rust-cross-canadian_1.54.0.bb | 6 + > meta/recipes-devtools/rust/rust-cross.inc | 71 ++ > meta/recipes-devtools/rust/rust-cross_1.51.0.bb | 2 + > meta/recipes-devtools/rust/rust-cross_1.54.0.bb | 2 + > meta/recipes-devtools/rust/rust-llvm.inc | 63 ++ > .../rust-llvm/0001-nfc-Fix-missing-include.patch | 26 + > .../0002-llvm-allow-env-override-of-exe-path.patch | 32 + > meta/recipes-devtools/rust/rust-llvm_1.51.0.bb | 7 + > meta/recipes-devtools/rust/rust-llvm_1.54.0.bb | 5 + > .../recipes-devtools/rust/rust-snapshot-1.51.0.inc | 18 + > .../recipes-devtools/rust/rust-snapshot-1.54.0.inc | 18 + > meta/recipes-devtools/rust/rust-snapshot.inc | 9 + > meta/recipes-devtools/rust/rust-source-1.51.0.inc | 3 + > meta/recipes-devtools/rust/rust-source-1.54.0.inc | 3 + > meta/recipes-devtools/rust/rust-source.inc | 3 + > meta/recipes-devtools/rust/rust-target.inc | 10 + > .../rust/rust-tools-cross-canadian.inc | 38 + > .../rust/rust-tools-cross-canadian_1.51.0.bb | 6 + > .../rust/rust-tools-cross-canadian_1.54.0.bb | 6 + > meta/recipes-devtools/rust/rust.inc | 193 +++++ > ...t-Fix-dash-vs-underscore-mismatches-in-op.patch | 75 ++ > meta/recipes-devtools/rust/rust_1.51.0.bb | 16 + > meta/recipes-devtools/rust/rust_1.54.0.bb | 11 + > .../rust-hello-world/0001-enable-LTO.patch | 23 + > .../rust-hello-world/rust-hello-world_git.bb | 17 + > meta/recipes-example/rustfmt/rustfmt_1.4.2.bb | 171 ++++ > 63 files changed, 5977 insertions(+) > > > -- # Randy MacLeod # Wind River Linux ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [v3] [RFC] Merge meta-rust to oe-core 2021-08-11 13:14 ` Randy MacLeod @ 2021-08-11 15:18 ` Randy MacLeod 2021-08-13 15:19 ` [OE-core] [v4] " Vinay Kumar 1 sibling, 0 replies; 23+ messages in thread From: Randy MacLeod @ 2021-08-11 15:18 UTC (permalink / raw) To: Richard Purdie Cc: openembedded-core, steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, Vinay Kumar, Wold, Saul, Martin Jansa, paul On 2021-08-11 9:14 a.m., Randy MacLeod wrote: > On 2021-08-10 8:22 p.m., Randy MacLeod wrote: >> >> I started working on the merge of meta-rust to oe-core again. >> >> CCing widely at the beginning this time. >> Please reply to me privately if you want to be dropped. >> >> I really need other people to sign up as [co-]maintainers! >> >> I pushed what I did today to: >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-10-2021-a >> >> >> $ git log --stat below. >> >> I've only started but so far, what I see is that, as expected, >> rust-hello-world works for >> qemux86-64, qemuarm and likely other targets. I'm doing a >> buildall-qemu overnight. >> >> The oe-selftests that we had problems with before are still a problem: >> >> oe-selftest still has at least three tests failing: >> >> 1. >> oe-selftest -r distrodata.Distrodata.test_maintainers >> This is due having two versions of cargo and rust. >> >> --> I'll remove 1.51 unless people object. >> >> 2. >> oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs >> oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs >> >> I've just started to look at these test failures. >> $ bitbake-dump-sigs shows a diff like: >> >> List of dependencies for variable BASEDEPENDS is set() >> List of dependencies for variable BUILD_AR is {'BUILD_PREFIX'} >> -List of dependencies for variable BUILD_AS is {'BUILD_PREFIX', >> 'BUILD_AS_ARCH'} >> +List of dependencies for variable BUILD_AS is {'BUILD_AS_ARCH', >> 'BUILD_PREFIX'} >> List of dependencies for variable BUILD_AS_ARCH is set() >> -List of dependencies for variable BUILD_CC is {'BUILD_PREFIX', >> 'BUILD_CC_ARCH'} >> -List of dependencies for variable BUILD_CCLD is {'BUILD_PREFIX', >> 'BUILD_CC_ARCH'} >> +List of dependencies for variable BUILD_CC is {'BUILD_CC_ARCH', >> 'BUILD_PREFIX'} >> +List of dependencies for variable BUILD_CCLD is {'BUILD_CC_ARCH', >> 'BUILD_PREFIX'} >> List of dependencies for variable BUILD_CC_ARCH is set() >> >> Tips welcome! >> >> >> Btw, I know that the rust community is working on reproducibility: >> https://github.com/rust-lang/rust/labels/A-reproducibility >> This diffsigs problem may be related but I haven't looked at the >> issue long enough yet to tell. >> >> >> 4. >> I'll run a test on the autobuilder to see if the debian build from >> Feb is still a problem: >> rust-native doesn't build on debian8: >> https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/40/steps/13/logs/stdio >> >> >> >> I'll run buildall-qemu rust-hello-world overnight. > > Results below. > > Vinay or I will look into glibc/qemuppc64 > if no one else is working on that. > > The musl build failures are all alike with the error shown below. > Has anyone see that before? > > ../Randy > > > BUILDALL-QEMU LOG FOR rust-hello-world > > START TIME: 2021-08-10_17:23:20 > > HOSTNAME: ala-lpggp3 > > HOST OS: Ubuntu 18.04.3 LTS > > HOST KERNEL: 5.4.0-80-generic > > =============== > > BUILD RESULTS: > > [glibc] > > PASS: qemuriscv32 > > PASS: qemuarmv5 > > PASS: qemumips > > PASS: qemux86-64 > > PASS: qemuarm64 > > PASS: qemumips64 > > PASS: qemuarm > > PASS: qemuppc > > PASS: qemuriscv64 > > FAIL: qemuppc64 > > PASS: qemux86 > > [musl] > > FAIL: qemuriscv32 > > FAIL: qemuarmv5 > > FAIL: qemumips > > PASS: qemux86-64 > > PASS: qemuarm64 > > FAIL: qemumips64 > > FAIL: qemuarm > > FAIL: qemuppc > > FAIL: qemuriscv64 > > FAIL: qemuppc64 > > FAIL: qemux86 > > =============== > > PASSED: 12 > > FAILED: 10 The musl failures seemed odd so I did a build without any sstate-cache and indeed things are not as bad as last night's runs show. I get the same results with a second run with the newly generated sstate-cache. $ cat rust-hello-world-buildall.log BUILDALL-QEMU LOG FOR rust-hello-world START TIME: 2021-08-11_06:53:10 HOSTNAME: ala-lpggp3 HOST OS: Ubuntu 18.04.3 LTS HOST KERNEL: 5.4.0-80-generic =============== BUILD RESULTS: [musl] FAIL: qemuriscv32 PASS: qemuarmv5 PASS: qemumips PASS: qemux86-64 PASS: qemuarm64 PASS: qemumips64 PASS: qemuarm FAIL: qemuppc PASS: qemuriscv64 FAIL: qemuppc64 PASS: qemux86 =============== PASSED: 8 FAILED: 3 ../Randy > > > > --- > > Typical musl build failure log: > > Sstate summary: Wanted 62 Local 0 Network 0 Missed 62 Current 142 (0% > match, 69% complete) > > NOTE: Executing Tasks > > > ERROR: rust-cross-arm-1.54.0-r0 do_prepare_recipe_sysroot: Error > executing a python function in exec_python_func() autogenerated: > > > > > > The stack trace of python calls that resulted in this > exception/failure was: > > File: 'exec_python_func() autogenerated', lineno: 2, function: <module> > > > 0001: > > > *** 0002:extend_recipe_sysroot(d) > > > 0003: > > File: > '/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/classes/staging.bbclass', > lineno: 582, function: extend_recipe_sysroot > > 0578: if "/bin/" in l or "/sbin/" in l: > > 0579: # defer /*bin/* files until last in > case they need libs > > 0580: binfiles[l] = (targetdir, dest) > > > 0581: else: > > > *** 0582: staging_copyfile(l, targetdir, dest, > postinsts, seendirs) > > 0583: > > 0584: # Handle deferred binfiles > > > 0585: for l in binfiles: > > 0586: (targetdir, dest) = binfiles[l] > > > File: > '/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/classes/staging.bbclass', > lineno: 149, function: staging_copyfile > > 0145: if os.path.islink(c): > > > 0146: linkto = os.readlink(c) > > > 0147: if os.path.lexists(dest): > > 0148: if not os.path.islink(dest): > > > *** 0149: raise OSError(errno.EEXIST, "Link %s already > exists as a file" % dest, dest) > > 0150: if os.readlink(dest) == linkto: > > > 0151: return dest > > > 0152: raise OSError(errno.EEXIST, "Link %s already > exists to a different location? (%s vs %s)" % (dest, > os.readlink(dest), linkto), dest) > > 0153: os.symlink(linkto, dest) > > > Exception: FileExistsError: [Errno 17] Link > /ala-lpggp31/rmacleod/src/distro/yocto/b/rust-aug-10-master-redo-a/tmp/work/x86_64-linux/rust-cross-arm/1.54.0-r0/recipe-sysroot/usr/include/c++/11.2.0/arm-poky-linux' > > > > > > ERROR: Logfile of failure stored in: > /ala-lpggp31/rmacleod/src/distro/yocto/b/rust-aug-10-master-redo-a/tmp/work/x86_64-linux/rust-cross-arm/1.54.0-r0/temp/log.do_prepare_recipe_sysroot.73161 > > > ERROR: Task > (/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_prepare_recipe_sysroot) > failed with exit code '1' > > NOTE: Tasks Summary: Attempted 755 tasks of which 645 didn't need to > be rerun and 1 failed. > > > > > > Summary: 1 task failed: > > > > /ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_prepare_recipe_sysroot > > > > Summary: There was 1 ERROR message shown, returning a non-zero exit code. > >> >> Thanks, >> >> ../Randy >> >> >> $ git log --stat origin/master..HEAD >> commit 725c11999a38244cc28e1d1fe17a7e05c5bdb7a3 >> Author: Randy MacLeod <randy.macleod@windriver.com> >> Date: Wed Feb 24 20:48:23 2021 >> >> maintainers: Add myself as maintainer for rust pkgs >> I'm willing to do the rust package maintenance but >> if anyone else wants to sign up, that would be welcome. >> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> >> meta/conf/distro/include/maintainers.inc | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> commit a658c5c7fac6160f7720bbf30ae35ccc143fcb57 >> Author: Randy MacLeod <randy.macleod@windriver.com> >> Date: Wed Feb 24 20:48:22 2021 >> >> cargo/rust/rustfmt: exclude from world >> cargo, rust, and rustfmt can't be built for the targets yet >> so exclude them from world builds. >> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> >> meta/recipes-devtools/cargo/cargo.inc | 1 + >> meta/recipes-example/rustfmt/rustfmt_1.4.2.bb | 2 +- >> 2 files changed, 2 insertions(+), 1 deletion(-) >> >> commit 8860562733d7cce3cede27fc611f984a2d9351d6 >> Author: Randy MacLeod <randy.macleod@windriver.com> >> Date: Wed Feb 24 20:48:20 2021 >> >> rust: update the README to conform to being in oe-core >> Provide the full link to the meta-rust issue since >> the README is no longer part of meta-rust. >> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> >> meta/recipes-devtools/rust/README-rust.md | 25 >> +++++++------------------ >> 1 file changed, 7 insertions(+), 18 deletions(-) >> >> commit 7398219dcfffe746038d36bbbaacbd52265a3fc7 >> Author: Randy MacLeod <randy.macleod@windriver.com> >> Date: Wed Feb 24 20:48:18 2021 >> >> rust: mv README.md to recipes-devtools/rust/README-rust.md >> Import the meta-rust/README.md but relocate and rename it. >> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> >> meta/recipes-devtools/rust/README-rust.md | 69 >> +++++++++++++++++++++++++++++++ >> 1 file changed, 69 insertions(+) >> >> commit 80586a849e1c725310f58ed9705febf97bc00bda >> Author: Randy MacLeod <Randy.MacLeod@windriver.com> >> Date: Tue Aug 10 13:52:19 2021 >> >> rust: initial merge of most of meta-rust >> In the meta-rust repo at commit: >> 448047c Upgrade to 1.54.0 (#359) >> Make the required directories: >> mkdir ../oe-core/meta/recipes-devtools/rust >> mkdir ../oe-core/meta/recipes-devtools/cargo >> mkdir ../oe-core/meta/recipes-example >> and then: >> cp recipes-devtools/rust/* ../oe-core/meta/recipes-devtools/rust >> cp recipes-devtools/cargo/* >> ../oe-core/meta/recipes-devtools/cargo >> cp lib/crate.py ../oe-core/meta/lib >> cp recipes-example/* ../oe-core/meta/recipes-example >> cp conf/distro/include/rust_* >> ../oe-core/meta/conf/distro/include/ >> cp classes/* ../oe-core/meta/classes/ >> cp >> recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb >> ../oe-core/meta/recipes-core/packagegroups >> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> >> meta/classes/cargo.bbclass | 89 ++ >> meta/classes/cargo_common.bbclass | 129 +++ >> meta/classes/crate-fetch.bbclass | 13 + >> meta/classes/rust-bin.bbclass | 149 ++++ >> meta/classes/rust-common.bbclass | 174 ++++ >> meta/classes/rust.bbclass | 45 + >> meta/conf/distro/include/rust_security_flags.inc | 7 + >> meta/conf/distro/include/rust_versions.inc | 13 + >> meta/lib/crate.py | 149 ++++ >> .../packagegroup-rust-cross-canadian.bb | 18 + >> .../cargo/cargo-1.51.0/0001-Disable-http2.patch | 28 + >> .../cargo/cargo-1.51.0/riscv-march.patch | 73 ++ >> .../cargo/cargo-1.51.0/rv64gc.patch | 37 + >> .../cargo/cargo-cross-canadian.inc | 74 ++ >> .../cargo/cargo-cross-canadian_1.51.0.bb | 6 + >> .../cargo/cargo-cross-canadian_1.54.0.bb | 6 + >> meta/recipes-devtools/cargo/cargo.inc | 50 ++ >> meta/recipes-devtools/cargo/cargo_1.51.0.bb | 8 + >> meta/recipes-devtools/cargo/cargo_1.54.0.bb | 4 + >> meta/recipes-devtools/rust/files/riscv-march.patch | 73 ++ >> meta/recipes-devtools/rust/files/rv64gc.patch | 37 + >> ...001-Add-base-definitions-for-riscv64-musl.patch | 904 >> ++++++++++++++++++++ >> ...-linux-musl-mod.rs-add-riscv64-to-b64-set.patch | 29 + >> ...3-FIXUP-Correct-definitions-to-match-musl.patch | 740 >> +++++++++++++++++ >> ...pdate-1.51.0-checksums-for-modified-files.patch | 21 + >> .../0004-Update-checksums-for-modified-files.patch | 21 + >> ...-definitions-for-riscv64-musl-libc-0.2.93.patch | 905 >> +++++++++++++++++++++ >> ...-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch | 31 + >> ...ect-definitions-to-match-musl-libc-0.2.93.patch | 741 >> +++++++++++++++++ >> ...ksums-for-modified-files-for-rust-1.54.0-.patch | 23 + >> meta/recipes-devtools/rust/libstd-rs.inc | 40 + >> meta/recipes-devtools/rust/libstd-rs_1.51.0.bb | 12 + >> meta/recipes-devtools/rust/libstd-rs_1.54.0.bb | 11 + >> meta/recipes-devtools/rust/rust-common.inc | 346 ++++++++ >> .../rust/rust-cross-canadian-common.inc | 53 ++ >> meta/recipes-devtools/rust/rust-cross-canadian.inc | 78 ++ >> .../rust/rust-cross-canadian_1.51.0.bb | 6 + >> .../rust/rust-cross-canadian_1.54.0.bb | 6 + >> meta/recipes-devtools/rust/rust-cross.inc | 71 ++ >> meta/recipes-devtools/rust/rust-cross_1.51.0.bb | 2 + >> meta/recipes-devtools/rust/rust-cross_1.54.0.bb | 2 + >> meta/recipes-devtools/rust/rust-llvm.inc | 63 ++ >> .../rust-llvm/0001-nfc-Fix-missing-include.patch | 26 + >> .../0002-llvm-allow-env-override-of-exe-path.patch | 32 + >> meta/recipes-devtools/rust/rust-llvm_1.51.0.bb | 7 + >> meta/recipes-devtools/rust/rust-llvm_1.54.0.bb | 5 + >> .../recipes-devtools/rust/rust-snapshot-1.51.0.inc | 18 + >> .../recipes-devtools/rust/rust-snapshot-1.54.0.inc | 18 + >> meta/recipes-devtools/rust/rust-snapshot.inc | 9 + >> meta/recipes-devtools/rust/rust-source-1.51.0.inc | 3 + >> meta/recipes-devtools/rust/rust-source-1.54.0.inc | 3 + >> meta/recipes-devtools/rust/rust-source.inc | 3 + >> meta/recipes-devtools/rust/rust-target.inc | 10 + >> .../rust/rust-tools-cross-canadian.inc | 38 + >> .../rust/rust-tools-cross-canadian_1.51.0.bb | 6 + >> .../rust/rust-tools-cross-canadian_1.54.0.bb | 6 + >> meta/recipes-devtools/rust/rust.inc | 193 +++++ >> ...t-Fix-dash-vs-underscore-mismatches-in-op.patch | 75 ++ >> meta/recipes-devtools/rust/rust_1.51.0.bb | 16 + >> meta/recipes-devtools/rust/rust_1.54.0.bb | 11 + >> .../rust-hello-world/0001-enable-LTO.patch | 23 + >> .../rust-hello-world/rust-hello-world_git.bb | 17 + >> meta/recipes-example/rustfmt/rustfmt_1.4.2.bb | 171 ++++ >> 63 files changed, 5977 insertions(+) >> >> >> > > -- # Randy MacLeod # Wind River Linux ^ permalink raw reply [flat|nested] 23+ messages in thread
* [OE-core] [v4] [RFC] Merge meta-rust to oe-core 2021-08-11 13:14 ` Randy MacLeod 2021-08-11 15:18 ` Randy MacLeod @ 2021-08-13 15:19 ` Vinay Kumar 2021-08-13 15:22 ` Vinay Kumar 1 sibling, 1 reply; 23+ messages in thread From: Vinay Kumar @ 2021-08-13 15:19 UTC (permalink / raw) To: randy.macleod Cc: richard.purdie, openembedded-core, steven, johan.anderholm, derek, cardoe, dev, tylerwhall, raj.khem, vinay.kumar, saul.wold, martin.jansa, paul, Vinay Kumar rust-common.inc: Fix build failure with qemuppc64. The glibc build of "rust-hello-world" throws error in libstd-rs package. error: unrecognized arch "powerpc64le" in target specification The same got fixed by changing the arch to "powerpc64". Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> --- meta/recipes-devtools/rust/rust-common.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/rust/rust-common.inc b/meta/recipes-devtools/rust/rust-common.inc index 350517c723..f574152815 100644 --- a/meta/recipes-devtools/rust/rust-common.inc +++ b/meta/recipes-devtools/rust/rust-common.inc @@ -248,6 +248,8 @@ def arch_to_rust_target_arch(arch): return "mips64" elif arch == "armv7": return "arm" + elif arch == "powerpc64le": + return "powerpc64" else: return arch -- 2.31.1 ^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core 2021-08-13 15:19 ` [OE-core] [v4] " Vinay Kumar @ 2021-08-13 15:22 ` Vinay Kumar 2021-08-17 14:52 ` Randy MacLeod [not found] ` <169C1FA457B99CA0.23238@lists.openembedded.org> 0 siblings, 2 replies; 23+ messages in thread From: Vinay Kumar @ 2021-08-13 15:22 UTC (permalink / raw) To: Randy MacLeod Cc: Richard Purdie, Patches and discussions about the oe-core layer, steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul Hi Randy, >> Vinay or I will look into glibc/qemuppc64 >> if no one else is working on that. The failure is due to the below error in libstd-rs package build. "error: unrecognized arch "powerpc64le" in target specification" The reason for this is "arch": "powerpc64le" from the below target specific file. cat $b2/tmp/work/ppc64p9le-poky-linux/libstd-rs/1.54.0-r0/recipe-sysroot-native/usr/lib/rustlib/powerpc64le-poky-linux.json { "llvm-target": "powerpc64le-unknown-linux-gnu", "data-layout": "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512", "max-atomic-width": 64, "target-pointer-width": "64", "target-c-int-width": "64", "target-endian": "little", "arch": "powerpc64le", "os": "linux", "env": "gnu", "vendor": "unknown", "target-family": "unix", "linker": "powerpc64le-poky-linux-gcc", "ar": "powerpc64le-poky-linux-ar", "cpu": "generic", "dynamic-linking": true, "executables": true, "linker-is-gnu": true, "linker-flavor": "gcc", "has-rpath": true, "has-elf-tls": true, "position-independent-executables": true, "panic-strategy": "unwind" } So the "arch" should be "powerpc64" in case of "powerpc64le" fixes the librstd-rs build failure. With the above fix, $cat rust-hello-world-buildall.log BUILDALL-QEMU LOG FOR rust-hello-world START TIME: 2021-08-13_03:11:23 HOSTNAME: ala-lpggp3 HOST OS: Ubuntu 18.04.3 LTS HOST KERNEL: 5.4.0-80-generic =============== BUILD RESULTS: [glibc] PASS: qemuriscv32 PASS: qemuarmv5 PASS: qemumips PASS: qemux86-64 PASS: qemuarm64 PASS: qemumips64 PASS: qemuarm PASS: qemuppc PASS: qemuriscv64 PASS: qemuppc64 PASS: qemux86 [musl] FAIL: qemuriscv32 FAIL: qemuarmv5 FAIL: qemumips FAIL: qemux86-64 FAIL: qemuarm64 FAIL: qemumips64 FAIL: qemuarm FAIL: qemuppc FAIL: qemuriscv64 FAIL: qemuppc64 FAIL: qemux86 =============== PASSED: 11 FAILED: 11 Regards, Vinay On Fri, Aug 13, 2021 at 8:50 PM Vinay Kumar <vinay.m.engg@gmail.com> wrote: > > rust-common.inc: Fix build failure with qemuppc64. > > The glibc build of "rust-hello-world" throws error in libstd-rs package. > error: unrecognized arch "powerpc64le" in target specification > > The same got fixed by changing the arch to "powerpc64". > > Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> > --- > meta/recipes-devtools/rust/rust-common.inc | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/meta/recipes-devtools/rust/rust-common.inc b/meta/recipes-devtools/rust/rust-common.inc > index 350517c723..f574152815 100644 > --- a/meta/recipes-devtools/rust/rust-common.inc > +++ b/meta/recipes-devtools/rust/rust-common.inc > @@ -248,6 +248,8 @@ def arch_to_rust_target_arch(arch): > return "mips64" > elif arch == "armv7": > return "arm" > + elif arch == "powerpc64le": > + return "powerpc64" > else: > return arch > > -- > 2.31.1 > ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core 2021-08-13 15:22 ` Vinay Kumar @ 2021-08-17 14:52 ` Randy MacLeod [not found] ` <169C1FA457B99CA0.23238@lists.openembedded.org> 1 sibling, 0 replies; 23+ messages in thread From: Randy MacLeod @ 2021-08-17 14:52 UTC (permalink / raw) To: Vinay Kumar Cc: Richard Purdie, Patches and discussions about the oe-core layer, steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul On 2021-08-13 11:22 a.m., Vinay Kumar wrote: > Hi Randy, > >>> Vinay or I will look into glibc/qemuppc64 >>> if no one else is working on that. > > The failure is due to the below error in libstd-rs package build. > "error: unrecognized arch "powerpc64le" in target specification" > > The reason for this is "arch": "powerpc64le" from the below target > specific file. > > cat $b2/tmp/work/ppc64p9le-poky-linux/libstd-rs/1.54.0-r0/recipe-sysroot-native/usr/lib/rustlib/powerpc64le-poky-linux.json > { > "llvm-target": "powerpc64le-unknown-linux-gnu", > "data-layout": "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512", > "max-atomic-width": 64, > "target-pointer-width": "64", > "target-c-int-width": "64", > "target-endian": "little", > "arch": "powerpc64le", > "os": "linux", > "env": "gnu", > "vendor": "unknown", > "target-family": "unix", > "linker": "powerpc64le-poky-linux-gcc", > "ar": "powerpc64le-poky-linux-ar", > "cpu": "generic", > "dynamic-linking": true, > "executables": true, > "linker-is-gnu": true, > "linker-flavor": "gcc", > "has-rpath": true, > "has-elf-tls": true, > "position-independent-executables": true, > "panic-strategy": "unwind" > } > > So the "arch" should be "powerpc64" in case of "powerpc64le" fixes the > librstd-rs build failure. > > With the above fix, > > $cat rust-hello-world-buildall.log > BUILDALL-QEMU LOG FOR rust-hello-world > START TIME: 2021-08-13_03:11:23 > HOSTNAME: ala-lpggp3 > HOST OS: Ubuntu 18.04.3 LTS > HOST KERNEL: 5.4.0-80-generic > =============== > BUILD RESULTS: > [glibc] > PASS: qemuriscv32 > PASS: qemuarmv5 > PASS: qemumips > PASS: qemux86-64 > PASS: qemuarm64 > PASS: qemumips64 > PASS: qemuarm > PASS: qemuppc > PASS: qemuriscv64 > PASS: qemuppc64 > PASS: qemux86 > [musl] > FAIL: qemuriscv32 > FAIL: qemuarmv5 > FAIL: qemumips > FAIL: qemux86-64 > FAIL: qemuarm64 > FAIL: qemumips64 > FAIL: qemuarm > FAIL: qemuppc > FAIL: qemuriscv64 > FAIL: qemuppc64 > FAIL: qemux86 > =============== > PASSED: 11 > FAILED: 11 > > Regards, > Vinay Thanks Vinay, applied. I'll push a new branch to poky-contrib later today. ../Randy > > On Fri, Aug 13, 2021 at 8:50 PM Vinay Kumar <vinay.m.engg@gmail.com> wrote: >> >> rust-common.inc: Fix build failure with qemuppc64. >> >> The glibc build of "rust-hello-world" throws error in libstd-rs package. >> error: unrecognized arch "powerpc64le" in target specification >> >> The same got fixed by changing the arch to "powerpc64". >> >> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> >> --- >> meta/recipes-devtools/rust/rust-common.inc | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/meta/recipes-devtools/rust/rust-common.inc b/meta/recipes-devtools/rust/rust-common.inc >> index 350517c723..f574152815 100644 >> --- a/meta/recipes-devtools/rust/rust-common.inc >> +++ b/meta/recipes-devtools/rust/rust-common.inc >> @@ -248,6 +248,8 @@ def arch_to_rust_target_arch(arch): >> return "mips64" >> elif arch == "armv7": >> return "arm" >> + elif arch == "powerpc64le": >> + return "powerpc64" >> else: >> return arch >> >> -- >> 2.31.1 >> -- # Randy MacLeod # Wind River Linux ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <169C1FA457B99CA0.23238@lists.openembedded.org>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <169C1FA457B99CA0.23238@lists.openembedded.org> @ 2021-08-20 10:06 ` Randy MacLeod 2021-08-21 2:48 ` Randy MacLeod [not found] ` <169D3274AAECC435.19323@lists.openembedded.org> 0 siblings, 2 replies; 23+ messages in thread From: Randy MacLeod @ 2021-08-20 10:06 UTC (permalink / raw) To: Vinay Kumar Cc: Richard Purdie, Patches and discussions about the oe-core layer, steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski [-- Attachment #1: Type: text/plain, Size: 6472 bytes --] Added Trevor who may be working on upgrading python-cryptography. Added Anatol since he was interested last time we worked on merging. Again, let me know if you want to be dropped by replying privately. No one from the meta-rust community responded last time so I'm assuming that y'all are just on vacation! ;-) On 2021-08-17 10:52 a.m., Randy MacLeod wrote: > On 2021-08-13 11:22 a.m., Vinay Kumar wrote: >> Hi Randy, >> >>>> Vinay or I will look into glibc/qemuppc64 >>>> if no one else is working on that. >> >> The failure is due to the below error in libstd-rs package build. >> "error: unrecognized arch "powerpc64le" in target specification" >> >> The reason for this is "arch": "powerpc64le" from the below target >> specific file. >> ,,, > > Thanks Vinay, applied. > > I'll push a new branch to poky-contrib later today. I fixed and worked-around a few issues and pushed a new branch: http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a 1. There are only a few new commits including Vinay's: 757da4cbf1e rust: remove Rust version 1.51.0 toolchain a4808f787ca cargo_common: remove http_proxy b6941135c00 rust-common.inc: Fix build failure with qemuppc64. If anyone wants to help by doing test builds, trying to generate and use and SDK with rust in it or anything else, that'd be great. Alex also ran a test build on the Autobuilder: https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/2439 but I have yet to look at the failed stages in the run. Testing logs and debugging notes below for those interested. ../Randy The test: oe-selftest -r distrodata.Distrodata.test_maintainers is fixed by creating maintainer records for all rusty packages and by removing the older version of the rust toolchain: 757da4cbf1e rust: remove Rust version 1.51.0 toolchain I suppose that if the meta-rust users want to keep an older TC it can live in meta-rust. Then, these tests: oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs were failing. One issue was fixed by the work-around of: a4808f787ca cargo_common: remove http_proxy Debugging the next step was a challenge since I hadn't worked with diffsigs before. Then to simplify, I removed all rusty .bb package ( by mv foo.bb foo.bb.hide) until I was down to the first recipe in the dependency tree: rust-llvm-native. and then running: oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs \ sstatetests.SStateTests.test_sstate_sametune_samesigs \ 2021-08-19 17:54:12,878 - oe-selftest - INFO - Ran 2 tests in 142.010s - OK - RESULTS: - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs: PASSED (41.45s) - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs: PASSED (98.89s) - SUMMARY: - oe-selftest () - Ran 2 tests in 142.012s - oe-selftest - OK - All required tests passed (successes=2, skipped=0, failures=0, errors=0) adding the next self consistent group of package: cargo/cargo-cross-canadian_1.54.0.bb cargo/cargo_1.54.0.bb rust/libstd-rs_1.54.0.bb rust/rust-cross-canadian_1.54.0.bb rust/rust-cross_1.54.0.bb rust/rust-tools-cross-canadian_1.54.0.bb rust/rust_1.54.0.bb I see another http_proxy failure that seems to require a feature drop in cargo: https://github.com/rust-lang/cargo/blob/master/src/cargo/ops/registry.rs#L524 Patching out a feature doesn't seem like a good idea but maybe someone else has a better one? To see if there were other problems lurking menacingly behind the proxy error, I disabled the http_proxy test in: meta/lib/oeqa/selftest/cases/sstatetests.py -http_proxy = "http://example.com/" +http_proxy = "" and ran again to find: - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs: PASSED (50.63s) - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs: FAILED (160.05s) so that's somewhat encouraging but there is still the error: File ".../meta/lib/oeqa/selftest/cases/sstatetests.py", line 449, in test_sstate_sametune_samesigs self.assertCountEqual(files1, files2) AssertionError: Element counts were not equal: First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/\ tmp-sstatesamehash/stamps/x86_64-linux/\ lib32-rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.\ fc54579cc139c777172242c3da3e0' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/\ tmp-sstatesamehash/stamps/x86_64-linux/\ lib32-rust-cross-i686/1.54.0-r0.do_compile.sigdata.\ 86cb5a1346b0615cb21fab3c0110cc964ecced' ... lots of similar lines of diffsig info ... Hacking the test to not clean up and running bitbake-dumpsigs on the two sig files for the first error, I get the two files attached. I also attached the tmp/log/oe-selftest-results.log file. That's it for now. ../Randy > > ../Randy >> >> On Fri, Aug 13, 2021 at 8:50 PM Vinay Kumar <vinay.m.engg@gmail.com> >> wrote: >>> >>> rust-common.inc: Fix build failure with qemuppc64. >>> >>> The glibc build of "rust-hello-world" throws error in libstd-rs package. >>> error: unrecognized arch "powerpc64le" in target specification >>> >>> The same got fixed by changing the arch to "powerpc64". >>> >>> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> >>> --- >>> meta/recipes-devtools/rust/rust-common.inc | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/meta/recipes-devtools/rust/rust-common.inc >>> b/meta/recipes-devtools/rust/rust-common.inc >>> index 350517c723..f574152815 100644 >>> --- a/meta/recipes-devtools/rust/rust-common.inc >>> +++ b/meta/recipes-devtools/rust/rust-common.inc >>> @@ -248,6 +248,8 @@ def arch_to_rust_target_arch(arch): >>> return "mips64" >>> elif arch == "armv7": >>> return "arm" >>> + elif arch == "powerpc64le": >>> + return "powerpc64" >>> else: >>> return arch >>> >>> -- >>> 2.31.1 >>> > > > > > > -- # Randy MacLeod # Wind River Linux [-- Attachment #2: lib32-rust-cross-i686--targets.sigdata.1 --] [-- Type: text/plain, Size: 13581 bytes --] basewhitelist: {'SDKPKGSUFFIX', 'PWD', 'SSTATE_HASHEQUIV_METHOD', 'BUILD_ARCH', 'DEPLOY_DIR', 'HOME', 'CCACHE', 'OMP_NUM_THREADS', 'USER', 'PSEUDO_IGNORE_PATHS', 'STAMPCLEAN', 'ERROR_QA', 'PRSERV_HOST', 'PRSERV_DUMPFILE', 'PATH', 'COREBASE', 'SOURCE_DATE_EPOCH', 'CCACHE_NOHASHDIR', 'SSTATE_HASHEQUIV_REPORT_TASKDATA', 'SHELL', 'BBPATH', 'SSTATE_PKGARCH', 'LOGNAME', 'SSTATE_HASHEQUIV_OWNER', 'BB_UNIHASH', 'DL_DIR', 'BBSERVER', 'EXTERNAL_TOOLCHAIN', 'BB_LIMITEDDEPS', 'PRSERV_LOCKDOWN', 'CCACHE_DIR', 'STAGING_DIR_HOST', 'LICENSE_PATH', 'SSTATE_DIR', 'FILE_DIRNAME', 'WORKDIR', 'FILESEXTRAPATHS', 'CCACHE_TOP_DIR', 'PARALLEL_MAKE', 'PKGDATA_DIR', 'PRSERV_DUMPDIR', 'FILESPATH', 'BB_HASHSERVE', 'WARN_QA', 'extend_recipe_sysroot', 'STAMPS_DIR', 'STAGING_DIR_TARGET', 'THISDIR', 'BUILDHISTORY_DIR', 'BB_TASKHASH', 'GIT_CEILING_DIRECTORIES', 'TMPDIR', 'FILE', 'BB_WORKERCONTEXT'} taskwhitelist: None Task dependencies: ['ARM_THUMB_OPT', 'DEFAULTTUNE', 'MACHINE', 'MACHINEOVERRIDES', 'PACKAGE_ARCH', 'RUST_PANIC_STRATEGY', 'TARGET_ARCH', 'TARGET_CC_ARCH', 'TARGET_FPU', 'TARGET_LLVM_CPU', 'TARGET_LLVM_FEATURES', 'TRANSLATED_TARGET_ARCH', 'TUNE_ARCH', 'TUNE_CCARGS', 'TUNE_FEATURES', 'TUNE_FEATURES:tune-x86', 'X86ARCH32', 'X86ARCH64', 'arch_to_rust_target_arch', 'llvm_cpu', 'llvm_features', 'llvm_features_from_cc_arch', 'llvm_features_from_target_fpu', 'llvm_features_from_tune', 'prefix_for', 'rust_gen_target', 'sys_for', 'target_is_armv7'] basehash: 886c98d08c2f41e80188ac33198a0b4f6c42e3a1694b78fdfc35e6bdfc5c6214 List of dependencies for variable ARM_THUMB_OPT is set() List of dependencies for variable DEFAULTTUNE is set() List of dependencies for variable MACHINE is set() List of dependencies for variable MACHINEOVERRIDES is {'MACHINE'} List of dependencies for variable PACKAGE_ARCH is set() List of dependencies for variable RUST_PANIC_STRATEGY is set() List of dependencies for variable TARGET_ARCH is {'TUNE_ARCH'} List of dependencies for variable TARGET_CC_ARCH is {'TUNE_CCARGS'} List of dependencies for variable TARGET_FPU is set() List of dependencies for variable TARGET_LLVM_CPU is {'llvm_cpu'} List of dependencies for variable TARGET_LLVM_FEATURES is {'llvm_features'} List of dependencies for variable TRANSLATED_TARGET_ARCH is {'TARGET_ARCH'} List of dependencies for variable TUNE_ARCH is {'X86ARCH64', 'X86ARCH32'} List of dependencies for variable TUNE_CCARGS is set() List of dependencies for variable TUNE_FEATURES is {'DEFAULTTUNE', 'TUNE_FEATURES:tune-x86'} List of dependencies for variable TUNE_FEATURES:tune-x86 is set() List of dependencies for variable X86ARCH32 is set() List of dependencies for variable X86ARCH64 is set() List of dependencies for variable arch_to_rust_target_arch is set() List of dependencies for variable llvm_cpu is {'PACKAGE_ARCH', 'TUNE_FEATURES', 'TRANSLATED_TARGET_ARCH'} List of dependencies for variable llvm_features is {'llvm_features_from_tune', 'llvm_features_from_target_fpu', 'llvm_features_from_cc_arch'} List of dependencies for variable llvm_features_from_cc_arch is {'TARGET_CC_ARCH'} List of dependencies for variable llvm_features_from_target_fpu is {'TARGET_FPU'} List of dependencies for variable llvm_features_from_tune is {'ARM_THUMB_OPT', 'target_is_armv7', 'TUNE_FEATURES', 'MACHINEOVERRIDES'} List of dependencies for variable prefix_for is set() List of dependencies for variable rust_gen_target is {'RUST_PANIC_STRATEGY', 'sys_for', 'prefix_for', 'arch_to_rust_target_arch'} List of dependencies for variable sys_for is set() List of dependencies for variable target_is_armv7 is {'TARGET_ARCH', 'TUNE_FEATURES', 'MACHINEOVERRIDES'} Variable do_rust_gen_targets value is wd = d.getVar('WORKDIR') + '/targets/' # It is important 'TARGET' is last here so that it overrides our less # informed choices for BUILD & HOST if TARGET happens to be the same as # either of them. for thing in ['BUILD', 'HOST', 'TARGET']: bb.debug(1, "rust_gen_target for " + thing) features = "" cpu = "generic" arch = d.getVar('{}_ARCH'.format(thing)) if thing is "TARGET": # arm and armv7 have different targets in llvm if arch == "arm" and target_is_armv7(d): arch = 'armv7' features = d.getVar('TARGET_LLVM_FEATURES') or "" cpu = d.getVar('TARGET_LLVM_CPU') rust_gen_target(d, thing, wd, features, cpu, arch) Variable ARM_THUMB_OPT value is None Variable DEFAULTTUNE value is x86 Variable MACHINE value is qemux86 Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE} TUNE_FEATURES{m32} = Set TUNE_FEATURES{mx32} = Unset Variable PACKAGE_ARCH value is ${BUILD_ARCH} Variable RUST_PANIC_STRATEGY value is unwind Variable TARGET_ARCH value is ${TUNE_ARCH} Variable TARGET_CC_ARCH value is ${TUNE_CCARGS} --sysroot=${STAGING_DIR_TARGET} Variable TARGET_FPU value is Variable TARGET_LLVM_CPU value is ${@llvm_cpu(d)} Variable TARGET_LLVM_FEATURES value is ${@llvm_features(d)} Variable TRANSLATED_TARGET_ARCH value is ${@d.getVar('TARGET_ARCH').replace("_", "-")} Variable TUNE_ARCH value is ${@bb.utils.contains('TUNE_FEATURES', 'm32', '${X86ARCH32}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'mx32', '${X86ARCH64}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm64', '${X86ARCH64}', '', d)} TUNE_FEATURES{m32} = Set TUNE_FEATURES{m64} = Unset TUNE_FEATURES{mx32} = Unset Variable TUNE_CCARGS value is -m32 Variable TUNE_FEATURES value is ${TUNE_FEATURES:tune-${DEFAULTTUNE}} Variable TUNE_FEATURES:tune-x86 value is m32 Variable X86ARCH32 value is i686 Variable X86ARCH64 value is x86_64 Variable arch_to_rust_target_arch value is def arch_to_rust_target_arch(arch): if arch == "i586" or arch == "i686": return "x86" elif arch == "mipsel": return "mips" elif arch == "mip64sel": return "mips64" elif arch == "armv7": return "arm" elif arch == "powerpc64le": return "powerpc64" else: return arch # generates our target CPU value Variable llvm_cpu value is def llvm_cpu(d): cpu = d.getVar('PACKAGE_ARCH') target = d.getVar('TRANSLATED_TARGET_ARCH') trans = {} trans['corei7-64'] = "corei7" trans['core2-32'] = "core2" trans['x86-64'] = "x86-64" trans['i686'] = "i686" trans['i586'] = "i586" trans['powerpc'] = "powerpc" trans['mips64'] = "mips64" trans['mips64el'] = "mips64" trans['riscv64'] = "generic-rv64" trans['riscv32'] = "generic-rv32" if target in ["mips", "mipsel"]: feat = frozenset(d.getVar('TUNE_FEATURES').split()) if "mips32r2" in feat: trans['mipsel'] = "mips32r2" trans['mips'] = "mips32r2" elif "mips32" in feat: trans['mipsel'] = "mips32" trans['mips'] = "mips32" try: return trans[cpu] except: return trans.get(target, "generic") Variable llvm_features value is def llvm_features(d): return ','.join(llvm_features_from_tune(d) + llvm_features_from_cc_arch(d) + llvm_features_from_target_fpu(d)) ## arm-unknown-linux-gnueabihf Variable llvm_features_from_cc_arch value is def llvm_features_from_cc_arch(d): f = [] feat = d.getVar('TARGET_CC_ARCH') if not feat: return [] feat = frozenset(feat.split()) if '-mmmx' in feat: f.append("+mmx") if '-msse' in feat: f.append("+sse") if '-msse2' in feat: f.append("+sse2") if '-msse3' in feat: f.append("+sse3") if '-mssse3' in feat: f.append("+ssse3") if '-msse4.1' in feat: f.append("+sse4.1") if '-msse4.2' in feat: f.append("+sse4.2") if '-msse4a' in feat: f.append("+sse4a") if '-mavx' in feat: f.append("+avx") if '-mavx2' in feat: f.append("+avx2") return f Variable llvm_features_from_target_fpu value is def llvm_features_from_target_fpu(d): # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float # ABI. There is no option for hard. fpu = d.getVar('TARGET_FPU', True) return ["+soft-float"] if fpu == "soft" else [] Variable llvm_features_from_tune value is def llvm_features_from_tune(d): f = [] feat = d.getVar('TUNE_FEATURES') if not feat: return [] feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) if 'vfpv4' in feat: f.append("+vfp4") if 'vfpv3' in feat: f.append("+vfp3") if 'vfpv3d16' in feat: f.append("+d16") if 'vfpv2' in feat or 'vfp' in feat: f.append("+vfp2") if 'neon' in feat: f.append("+neon") if 'mips32' in feat: f.append("+mips32") if 'mips32r2' in feat: f.append("+mips32r2") if target_is_armv7(d): f.append('+v7') if ('armv6' in mach_overrides) or ('armv6' in feat): f.append("+v6") if 'armv5te' in feat: f.append("+strict-align") f.append("+v5te") elif 'armv5' in feat: f.append("+strict-align") f.append("+v5") if ('armv4' in mach_overrides) or ('armv4' in feat): f.append("+strict-align") if 'dsp' in feat: f.append("+dsp") if 'thumb' in feat: if d.getVar('ARM_THUMB_OPT') == "thumb": if target_is_armv7(d): f.append('+thumb2') f.append("+thumb-mode") if 'cortexa5' in feat: f.append("+a5") if 'cortexa7' in feat: f.append("+a7") if 'cortexa9' in feat: f.append("+a9") if 'cortexa15' in feat: f.append("+a15") if 'cortexa17' in feat: f.append("+a17") if ('riscv64' in feat) or ('riscv32' in feat): f.append("+a,+c,+d,+f,+m") return f # TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing # this should go away when https://github.com/rust-lang/rust/pull/31709 is # stable (1.9.0?) Variable prefix_for value is def prefix_for(d, thing): return d.getVar('{}_PREFIX'.format(thing)) # Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something # rust's internals won't choke on. Variable rust_gen_target value is def rust_gen_target(d, thing, wd, features, cpu, arch): import json sys = sys_for(d, thing) prefix = prefix_for(d, thing) features = features or d.getVarFlag('FEATURES', arch) or "" features = features.strip() # build tspec tspec = {} tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch) tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch) tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch)) tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch) tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch) tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch) tspec['arch'] = arch_to_rust_target_arch(arch) tspec['os'] = "linux" if "musl" in tspec['llvm-target']: tspec['env'] = "musl" else: tspec['env'] = "gnu" if "riscv64" in tspec['llvm-target']: tspec['llvm-abiname'] = "lp64d" if "riscv32" in tspec['llvm-target']: tspec['llvm-abiname'] = "ilp32d" tspec['vendor'] = "unknown" tspec['target-family'] = "unix" tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix) tspec['ar'] = "{}ar".format(prefix) tspec['cpu'] = cpu if features != "": tspec['features'] = features tspec['dynamic-linking'] = True tspec['executables'] = True tspec['linker-is-gnu'] = True tspec['linker-flavor'] = "gcc" tspec['has-rpath'] = True tspec['has-elf-tls'] = True tspec['position-independent-executables'] = True tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY") # write out the target spec json file with open(wd + sys + '.json', 'w') as f: json.dump(tspec, f, indent=4) Variable sys_for value is def sys_for(d, thing): return d.getVar('{}_SYS'.format(thing)) Variable target_is_armv7 value is def target_is_armv7(d): '''Determine if target is armv7''' # TUNE_FEATURES may include arm* even if the target is not arm # in the case of *-native packages if d.getVar('TARGET_ARCH') != 'arm': return False feat = d.getVar('TUNE_FEATURES') feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve']) if mach_overrides.isdisjoint(v7) and feat.isdisjoint(v7): return False else: return True # Responsible for taking Yocto triples and converting it to Rust triples Tasks this task depends on: ['virtual:multilib:lib32:/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch'] This task depends on the checksums of files: [] Hash for dependent task virtual:multilib:lib32:/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch is 4652ea318cee215a87d8b925b337051f7c70cd4ee6e85d84922925efc979dfa4 Computed base hash is 886c98d08c2f41e80188ac33198a0b4f6c42e3a1694b78fdfc35e6bdfc5c6214 and from file 886c98d08c2f41e80188ac33198a0b4f6c42e3a1694b78fdfc35e6bdfc5c6214 Computed task hash is fc54579cc139c777172242c3da3e095f4308c5ce606b2365a5b86c4371ee4f86 [-- Attachment #3: lib32-rust-cross-i686--targets.sigdata.2 --] [-- Type: text/plain, Size: 13593 bytes --] basewhitelist: {'BB_TASKHASH', 'LICENSE_PATH', 'HOME', 'PKGDATA_DIR', 'PSEUDO_IGNORE_PATHS', 'SSTATE_HASHEQUIV_METHOD', 'CCACHE_DIR', 'FILESPATH', 'STAMPCLEAN', 'BB_LIMITEDDEPS', 'FILE', 'STAGING_DIR_HOST', 'TMPDIR', 'FILE_DIRNAME', 'SSTATE_HASHEQUIV_OWNER', 'WORKDIR', 'BBPATH', 'PRSERV_HOST', 'THISDIR', 'DEPLOY_DIR', 'STAMPS_DIR', 'OMP_NUM_THREADS', 'CCACHE_TOP_DIR', 'PRSERV_DUMPDIR', 'LOGNAME', 'GIT_CEILING_DIRECTORIES', 'COREBASE', 'PRSERV_DUMPFILE', 'STAGING_DIR_TARGET', 'BB_WORKERCONTEXT', 'BUILDHISTORY_DIR', 'BUILD_ARCH', 'SSTATE_DIR', 'PARALLEL_MAKE', 'BBSERVER', 'PATH', 'PRSERV_LOCKDOWN', 'FILESEXTRAPATHS', 'CCACHE_NOHASHDIR', 'SHELL', 'WARN_QA', 'SSTATE_HASHEQUIV_REPORT_TASKDATA', 'SDKPKGSUFFIX', 'USER', 'SOURCE_DATE_EPOCH', 'extend_recipe_sysroot', 'EXTERNAL_TOOLCHAIN', 'BB_HASHSERVE', 'CCACHE', 'ERROR_QA', 'BB_UNIHASH', 'SSTATE_PKGARCH', 'PWD', 'DL_DIR'} taskwhitelist: None Task dependencies: ['ARM_THUMB_OPT', 'DEFAULTTUNE', 'MACHINE', 'MACHINEOVERRIDES', 'PACKAGE_ARCH', 'RUST_PANIC_STRATEGY', 'TARGET_ARCH', 'TARGET_CC_ARCH', 'TARGET_FPU', 'TARGET_LLVM_CPU', 'TARGET_LLVM_FEATURES', 'TRANSLATED_TARGET_ARCH', 'TUNE_ARCH', 'TUNE_CCARGS', 'TUNE_FEATURES', 'TUNE_FEATURES:tune-x86', 'X86ARCH32', 'X86ARCH64', 'arch_to_rust_target_arch', 'llvm_cpu', 'llvm_features', 'llvm_features_from_cc_arch', 'llvm_features_from_target_fpu', 'llvm_features_from_tune', 'prefix_for', 'rust_gen_target', 'sys_for', 'target_is_armv7'] basehash: a6d3d19d11840aa1a5950cf2bd7a8f6dd249f95f40fd9e56fa77f337e43ae42e List of dependencies for variable ARM_THUMB_OPT is set() List of dependencies for variable DEFAULTTUNE is set() List of dependencies for variable MACHINE is set() List of dependencies for variable MACHINEOVERRIDES is {'MACHINE'} List of dependencies for variable PACKAGE_ARCH is set() List of dependencies for variable RUST_PANIC_STRATEGY is set() List of dependencies for variable TARGET_ARCH is {'TUNE_ARCH'} List of dependencies for variable TARGET_CC_ARCH is {'TUNE_CCARGS'} List of dependencies for variable TARGET_FPU is set() List of dependencies for variable TARGET_LLVM_CPU is {'llvm_cpu'} List of dependencies for variable TARGET_LLVM_FEATURES is {'llvm_features'} List of dependencies for variable TRANSLATED_TARGET_ARCH is {'TARGET_ARCH'} List of dependencies for variable TUNE_ARCH is {'X86ARCH64', 'X86ARCH32'} List of dependencies for variable TUNE_CCARGS is set() List of dependencies for variable TUNE_FEATURES is {'DEFAULTTUNE', 'TUNE_FEATURES:tune-x86'} List of dependencies for variable TUNE_FEATURES:tune-x86 is set() List of dependencies for variable X86ARCH32 is set() List of dependencies for variable X86ARCH64 is set() List of dependencies for variable arch_to_rust_target_arch is set() List of dependencies for variable llvm_cpu is {'TRANSLATED_TARGET_ARCH', 'TUNE_FEATURES', 'PACKAGE_ARCH'} List of dependencies for variable llvm_features is {'llvm_features_from_cc_arch', 'llvm_features_from_tune', 'llvm_features_from_target_fpu'} List of dependencies for variable llvm_features_from_cc_arch is {'TARGET_CC_ARCH'} List of dependencies for variable llvm_features_from_target_fpu is {'TARGET_FPU'} List of dependencies for variable llvm_features_from_tune is {'MACHINEOVERRIDES', 'TUNE_FEATURES', 'target_is_armv7', 'ARM_THUMB_OPT'} List of dependencies for variable prefix_for is set() List of dependencies for variable rust_gen_target is {'RUST_PANIC_STRATEGY', 'sys_for', 'prefix_for', 'arch_to_rust_target_arch'} List of dependencies for variable sys_for is set() List of dependencies for variable target_is_armv7 is {'MACHINEOVERRIDES', 'TUNE_FEATURES', 'TARGET_ARCH'} Variable do_rust_gen_targets value is wd = d.getVar('WORKDIR') + '/targets/' # It is important 'TARGET' is last here so that it overrides our less # informed choices for BUILD & HOST if TARGET happens to be the same as # either of them. for thing in ['BUILD', 'HOST', 'TARGET']: bb.debug(1, "rust_gen_target for " + thing) features = "" cpu = "generic" arch = d.getVar('{}_ARCH'.format(thing)) if thing is "TARGET": # arm and armv7 have different targets in llvm if arch == "arm" and target_is_armv7(d): arch = 'armv7' features = d.getVar('TARGET_LLVM_FEATURES') or "" cpu = d.getVar('TARGET_LLVM_CPU') rust_gen_target(d, thing, wd, features, cpu, arch) Variable ARM_THUMB_OPT value is None Variable DEFAULTTUNE value is x86 Variable MACHINE value is qemux86copy Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE}:qemux86 TUNE_FEATURES{m32} = Set TUNE_FEATURES{mx32} = Unset Variable PACKAGE_ARCH value is ${BUILD_ARCH} Variable RUST_PANIC_STRATEGY value is unwind Variable TARGET_ARCH value is ${TUNE_ARCH} Variable TARGET_CC_ARCH value is ${TUNE_CCARGS} --sysroot=${STAGING_DIR_TARGET} Variable TARGET_FPU value is Variable TARGET_LLVM_CPU value is ${@llvm_cpu(d)} Variable TARGET_LLVM_FEATURES value is ${@llvm_features(d)} Variable TRANSLATED_TARGET_ARCH value is ${@d.getVar('TARGET_ARCH').replace("_", "-")} Variable TUNE_ARCH value is ${@bb.utils.contains('TUNE_FEATURES', 'm32', '${X86ARCH32}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'mx32', '${X86ARCH64}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm64', '${X86ARCH64}', '', d)} TUNE_FEATURES{m32} = Set TUNE_FEATURES{m64} = Unset TUNE_FEATURES{mx32} = Unset Variable TUNE_CCARGS value is -m32 Variable TUNE_FEATURES value is ${TUNE_FEATURES:tune-${DEFAULTTUNE}} Variable TUNE_FEATURES:tune-x86 value is m32 Variable X86ARCH32 value is i686 Variable X86ARCH64 value is x86_64 Variable arch_to_rust_target_arch value is def arch_to_rust_target_arch(arch): if arch == "i586" or arch == "i686": return "x86" elif arch == "mipsel": return "mips" elif arch == "mip64sel": return "mips64" elif arch == "armv7": return "arm" elif arch == "powerpc64le": return "powerpc64" else: return arch # generates our target CPU value Variable llvm_cpu value is def llvm_cpu(d): cpu = d.getVar('PACKAGE_ARCH') target = d.getVar('TRANSLATED_TARGET_ARCH') trans = {} trans['corei7-64'] = "corei7" trans['core2-32'] = "core2" trans['x86-64'] = "x86-64" trans['i686'] = "i686" trans['i586'] = "i586" trans['powerpc'] = "powerpc" trans['mips64'] = "mips64" trans['mips64el'] = "mips64" trans['riscv64'] = "generic-rv64" trans['riscv32'] = "generic-rv32" if target in ["mips", "mipsel"]: feat = frozenset(d.getVar('TUNE_FEATURES').split()) if "mips32r2" in feat: trans['mipsel'] = "mips32r2" trans['mips'] = "mips32r2" elif "mips32" in feat: trans['mipsel'] = "mips32" trans['mips'] = "mips32" try: return trans[cpu] except: return trans.get(target, "generic") Variable llvm_features value is def llvm_features(d): return ','.join(llvm_features_from_tune(d) + llvm_features_from_cc_arch(d) + llvm_features_from_target_fpu(d)) ## arm-unknown-linux-gnueabihf Variable llvm_features_from_cc_arch value is def llvm_features_from_cc_arch(d): f = [] feat = d.getVar('TARGET_CC_ARCH') if not feat: return [] feat = frozenset(feat.split()) if '-mmmx' in feat: f.append("+mmx") if '-msse' in feat: f.append("+sse") if '-msse2' in feat: f.append("+sse2") if '-msse3' in feat: f.append("+sse3") if '-mssse3' in feat: f.append("+ssse3") if '-msse4.1' in feat: f.append("+sse4.1") if '-msse4.2' in feat: f.append("+sse4.2") if '-msse4a' in feat: f.append("+sse4a") if '-mavx' in feat: f.append("+avx") if '-mavx2' in feat: f.append("+avx2") return f Variable llvm_features_from_target_fpu value is def llvm_features_from_target_fpu(d): # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float # ABI. There is no option for hard. fpu = d.getVar('TARGET_FPU', True) return ["+soft-float"] if fpu == "soft" else [] Variable llvm_features_from_tune value is def llvm_features_from_tune(d): f = [] feat = d.getVar('TUNE_FEATURES') if not feat: return [] feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) if 'vfpv4' in feat: f.append("+vfp4") if 'vfpv3' in feat: f.append("+vfp3") if 'vfpv3d16' in feat: f.append("+d16") if 'vfpv2' in feat or 'vfp' in feat: f.append("+vfp2") if 'neon' in feat: f.append("+neon") if 'mips32' in feat: f.append("+mips32") if 'mips32r2' in feat: f.append("+mips32r2") if target_is_armv7(d): f.append('+v7') if ('armv6' in mach_overrides) or ('armv6' in feat): f.append("+v6") if 'armv5te' in feat: f.append("+strict-align") f.append("+v5te") elif 'armv5' in feat: f.append("+strict-align") f.append("+v5") if ('armv4' in mach_overrides) or ('armv4' in feat): f.append("+strict-align") if 'dsp' in feat: f.append("+dsp") if 'thumb' in feat: if d.getVar('ARM_THUMB_OPT') == "thumb": if target_is_armv7(d): f.append('+thumb2') f.append("+thumb-mode") if 'cortexa5' in feat: f.append("+a5") if 'cortexa7' in feat: f.append("+a7") if 'cortexa9' in feat: f.append("+a9") if 'cortexa15' in feat: f.append("+a15") if 'cortexa17' in feat: f.append("+a17") if ('riscv64' in feat) or ('riscv32' in feat): f.append("+a,+c,+d,+f,+m") return f # TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing # this should go away when https://github.com/rust-lang/rust/pull/31709 is # stable (1.9.0?) Variable prefix_for value is def prefix_for(d, thing): return d.getVar('{}_PREFIX'.format(thing)) # Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something # rust's internals won't choke on. Variable rust_gen_target value is def rust_gen_target(d, thing, wd, features, cpu, arch): import json sys = sys_for(d, thing) prefix = prefix_for(d, thing) features = features or d.getVarFlag('FEATURES', arch) or "" features = features.strip() # build tspec tspec = {} tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch) tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch) tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch)) tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch) tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch) tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch) tspec['arch'] = arch_to_rust_target_arch(arch) tspec['os'] = "linux" if "musl" in tspec['llvm-target']: tspec['env'] = "musl" else: tspec['env'] = "gnu" if "riscv64" in tspec['llvm-target']: tspec['llvm-abiname'] = "lp64d" if "riscv32" in tspec['llvm-target']: tspec['llvm-abiname'] = "ilp32d" tspec['vendor'] = "unknown" tspec['target-family'] = "unix" tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix) tspec['ar'] = "{}ar".format(prefix) tspec['cpu'] = cpu if features != "": tspec['features'] = features tspec['dynamic-linking'] = True tspec['executables'] = True tspec['linker-is-gnu'] = True tspec['linker-flavor'] = "gcc" tspec['has-rpath'] = True tspec['has-elf-tls'] = True tspec['position-independent-executables'] = True tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY") # write out the target spec json file with open(wd + sys + '.json', 'w') as f: json.dump(tspec, f, indent=4) Variable sys_for value is def sys_for(d, thing): return d.getVar('{}_SYS'.format(thing)) Variable target_is_armv7 value is def target_is_armv7(d): '''Determine if target is armv7''' # TUNE_FEATURES may include arm* even if the target is not arm # in the case of *-native packages if d.getVar('TARGET_ARCH') != 'arm': return False feat = d.getVar('TUNE_FEATURES') feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve']) if mach_overrides.isdisjoint(v7) and feat.isdisjoint(v7): return False else: return True # Responsible for taking Yocto triples and converting it to Rust triples Tasks this task depends on: ['virtual:multilib:lib32:/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch'] This task depends on the checksums of files: [] Hash for dependent task virtual:multilib:lib32:/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch is 4652ea318cee215a87d8b925b337051f7c70cd4ee6e85d84922925efc979dfa4 Computed base hash is a6d3d19d11840aa1a5950cf2bd7a8f6dd249f95f40fd9e56fa77f337e43ae42e and from file a6d3d19d11840aa1a5950cf2bd7a8f6dd249f95f40fd9e56fa77f337e43ae42e Computed task hash is 8ed5b5d7c9a60b44b5097425b26ce5557ec3420cb761c9295c56307d5ddaec22 [-- Attachment #4: oe-selftest-results.log --] [-- Type: text/x-log, Size: 45317 bytes --] 2021-08-19 19:14:18,686 - oe-selftest - INFO - Adding layer libraries: 2021-08-19 19:14:18,686 - oe-selftest - INFO - /ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/lib 2021-08-19 19:14:18,687 - oe-selftest - INFO - /ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta-yocto-bsp/lib 2021-08-19 19:14:18,687 - oe-selftest - INFO - /ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta-selftest/lib 2021-08-19 19:14:18,688 - oe-selftest - INFO - Running bitbake -e to test the configuration is valid/parsable 2021-08-19 19:14:22,626 - oe-selftest - INFO - Adding: "include selftest.inc" in /ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/conf/local.conf 2021-08-19 19:14:22,627 - oe-selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf 2021-08-19 19:14:22,628 - oe-selftest - INFO - test_sstate_noop_samesigs (sstatetests.SStateTests) 2021-08-19 19:15:13,256 - oe-selftest - INFO - ... ok 2021-08-19 19:15:13,257 - oe-selftest - INFO - test_sstate_sametune_samesigs (sstatetests.SStateTests) 2021-08-19 19:17:53,301 - oe-selftest - INFO - ... FAIL 2021-08-19 19:17:53,303 - oe-selftest - INFO - Traceback (most recent call last): File "/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/lib/oeqa/selftest/cases/sstatetests.py", line 449, in test_sstate_sametune_samesigs self.assertCountEqual(files1, files2) AssertionError: Element counts were not equal: First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.fc54579cc139c777172242c3da3e095f4308c5ce606b2365a5b86c4371ee4f86' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_compile.sigdata.86cb5a1346b0615cb21fab3c0110cc964eccedbb94b2ccf99546dfd456897cca' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_install.sigdata.a1c0c3ed27e293a2daaa185482dc7fee2ed18490748e5077f8012882091aa2a8' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.a77e66f54b1be8285f4b33bafdd3d15e0a1ea694c0fd18832c61efb8c8fb312a' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_install.sigdata.b5d31a12e244bccafa0e5b8152c051c7d071855da0b638a3479ce7d677f146b5' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.4fd86084264170fb770ca358d1c3efd8dd70e231fe0d2328f98de3732c50a2a7' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.448a8113230a16ac5d606de18989f98b3700edeb3e7956c6f02207aa76a5d4f3' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_compile.sigdata.de7ff2af7f15af3b23a6ceb362ffa91602eebd17e19ed3df7709d81c2c390ce4' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_compile.sigdata.5ed1d5378e69e6ce244174b1becfb5340fb7349d25780cc8f5a7f222b4bf5cde' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_install.sigdata.4fb2c2301f0aca4a4e2add6ca1656d3bf843b88cf31819c70ac4de60cca2b513' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_configure.sigdata.1330164135e31705d4f1120ded68cd49dc32eb8d37945854b8383f7894366f61' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.c92d02429f22ecf3c6bb5c31cd2f4faaca852e6115e549be6a1154ef88e42049' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package.sigdata.8614d96d94145c5a40e074b90ab4d10e2a228c8dd39916213ca67f96632d6133' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_packagedata.sigdata.fdfe6627047063dcf31c49165a716901448863c29235d9cedc5e07ceb73527b1' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_write_rpm.sigdata.7537a5040399eaf51e4eb82b4c4d7a4927bfe40b38ce70ebc67be217b945c3de' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_populate_sysroot.sigdata.31bd54b8811665bd9b0da94add1042a768272b88b3301c916ac3f318db87c508' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_qa.sigdata.13cbaa397a096de35904dd0f8750b19c16419d7d1a2fae0f14c2c7923a308c28' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.9bc0d54595e72e4e4da3980443c1df558581966144ace9f189e526419b7ce2d4' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_qa.sigdata.19d7bc678a149de0d7f4b97f862f9ee271ef5c66c91886a5852335ed916f9e8b' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_install.sigdata.1e8482a852298d971b4640702a5723b3cf472ef802731b7fa4af7ad63b2fd48d' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_compile.sigdata.f149b25486972d08fc27e40653849eab265b3a31800aa8cf81f50a094b3060ac' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_packagedata.sigdata.4e63c49044a74657f9437ea8d75aecb086aa14bead0471e3b4927d975a3101a7' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.cf1734d0d9b1b20bafeb8c59d6bd812147b6ce5edd59e188f27cbc243038dbdf' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.f5feb243311ea6bbf2fcd150821e6bb1e5024b361e37e21c8cac275cd542de25' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_configure.sigdata.87d8770b4dfad359aba60cc05741c8b3cc6de3f27f4d7afdd4409394833f0899' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package.sigdata.0e813eb4208488aa2f444072feb41274c1045f7e285b29298ac9275c76b24ad5' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_packagedata.sigdata.3cc10eb84345704add643a12ddddf290a02d4b3c0482382e7b322192f629af56' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_install.sigdata.df3851ac16cc5fbef4a87ac73a43a54b9914581075b8fdd9ce41d4058c3c6ea1' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.7d6215490248e5b6ebdd13606b0eb5d8afca26574a204f58e73c7880a7360c4a' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.9a8775d578e4e91c87ef0965d09260480b343a7cb586372f5c2f3f46ea7826ea' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package.sigdata.4ee3961f0c45352fe0e2b994dff393489529690dd01875bef5279ef6663f82eb' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_configure.sigdata.c7e1878a5670ac2759ed65c00c7832356aaa3ef8b8b8aac0ffda0fe8fe63c70d' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.869b9a50422604a92d6ed74fe38423f8f6ed6e80ce79255247e77214b5157546' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_compile.sigdata.8bcb4d754f0a6dccf2cea9ea1935a5330697e80a9e83c83749212a4b94a28939' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_qa.sigdata.09aa4c5f61302977f5a89a55a7ccf914f99a71c10f04c77742ceec7008954990' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_qa.sigdata.7f6a8e8e9487d8636bb66616077cf81081086062a24615142e5898a64695a29f' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.de37e9ffbafd6fa03ee163ac594b7b419aacaa7f76e841d5755f8f8c60fc229d' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_write_rpm.sigdata.9bddcac412aa8ee310498f0d7c7a4a06075cc34c0e2592ecff24245b21a4b570' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_install.sigdata.77e14b907df816833644f466be6a219a5dd4ba6a12e18a0bd94b3d2f45febedd' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_compile.sigdata.9cea907c87090b4d9f0cf4460629546297a47db724809fbfd5ee7730401b7574' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_populate_sysroot.sigdata.19fc3d945202f03fe941cdb046886fb934f8267a60e28a7be0f6e2686a479c26' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_packagedata.sigdata.e49c2774170926d3efacc76132e129b5cbdd264971e8087ecc4f307ae8ea4961' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_configure.sigdata.6597ee477731c9440692237db01a70832e473588ab7082751a2f2c9d87c556ae' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package.sigdata.f229bd686fa4d08a7ced7fc54292e959f5b7483734d4aef92f27e9cc1b126f9b' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_compile.sigdata.65f3be30da4dc333a13bbf69d4f0cf418730718936e4f633a01a94f33b8ebef1' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.8ed5b5d7c9a60b44b5097425b26ce5557ec3420cb761c9295c56307d5ddaec22' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.331b2d9bcff9e6e81582074f1cd8587ffb4eeb64c73a1d2cbdfa0e563a1abff3' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_install.sigdata.a8ae893a542660b332a7cd22e9e982c4241135b06ef30125d487cf2ee92b3b91' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_install.sigdata.045bfaf4832974f96447aa7f7c431abd3c32c56d1956d921354b10f2e57aa7ee' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_compile.sigdata.27dddf67e61a73c1c42fbebf2ec5cd58d9c6b18b79ab9d3bbc61f350b393700a' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.83d1a26ebe7e2df3f496024a297ba782e145e6982457e09102d5e7c4fbf1b3b7' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.891d5abc469d187e34b531bf81a1ef742d6b834204af8c43ee0949744f2ea413' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_configure.sigdata.59dc8b0def7802484c734787962400026246f70c2bf48ade3baeac5671d9c47f' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_populate_sysroot.sigdata.7358ba758bc3a8c76d87a45ecb5dc8cb3224b45098f81d3724b226295922c475' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_qa.sigdata.ad013cb428b0fc127583e1ca7a5f39a4cca7cd7fe13fa669ed3cbc4b9ee3332a' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_install.sigdata.88e565d06d7c69e985da195f7752911022a974d6b9e89d82699de274d107f853' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package.sigdata.802365a52628bc0b173556977b135e38fee5fbfc415327bbb0b695ef601a4709' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_packagedata.sigdata.a3c32256c02d42d24d639b04f6fc2073b0c53c840cd008f4b8b788b94977da94' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_compile.sigdata.19d6cef321ed3808d928b6de955b214f1a3444afc6e6fe73b68447060d66cdff' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.16c650c390029ea40a19975d6e9ac1c9e8486cb82ff49607cbb380a771ffe970' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_write_rpm.sigdata.6d745c3a58e4d35933079194d8e83979ea0d032a9d6498c880305b8b283b8412' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_configure.sigdata.149b205adb6a48cb396e6da73dd45fb13c51ece5c0e56e01b4458e32a8bbc21c' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_qa.sigdata.914dc0f062bcc4d4898cafff2b380735b5bfb2343408fb6460046f400f73755b' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_packagedata.sigdata.71beb081559a476e39a0527a8a42b92c9e4ee209dedbf67e82d1ccc03babf9fb' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_compile.sigdata.c2bddf0463e3c501a9ccaf1b1511f322311fb5e8c244e6cff9046db8c65e8f72' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package.sigdata.c6e360d90dae93948f78fdc15d054df8d76fb998bfe8e7d5d194f3dcf24ce30f' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.6f146b8c3d06fd84630198af8e2b8b7d8446c82c0e2f292f5b33043b67c698c9' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.d3afb749ff9f7f41f9a79b6f2d7d00615c3a05435e75d91cad2ebec11843bc92' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_install.sigdata.17e30337464c783f7ae7e2c156bb747ef149606d78d58d1f144a01196d94315a' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.4d760c1f09a402e714c869b5f5f4af5b831e8fc3f0df3c40168387f10cb7c324' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_qa.sigdata.c57da894fee804da21cdadeb46ce4eb4109ca220edb97317e4c1643a43ba9e2d' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_compile.sigdata.29c8e6034e583ae319c6c10f7c4836d1e36dd1958be403909015aef467f9aae4' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.6c4edfb164464b469d13f708c0cec9aef53029579999abfcfcb422986bd12e32' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package.sigdata.5f1e651a667cc88f31cd1aec4957dd8b5ae7fbc23afc2b4c333354d019a662ff' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_configure.sigdata.ec87c5e68c278794e01b1b9c04638282cfd51c49f33cb8edb0fec532c8c82e2c' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_packagedata.sigdata.f0ded7162e6e6e9fcc5f1979ceae387c460572398e2711ec2e72eb8fa35fe714' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.77885fed1ad105f8827d4249a8a708879922b9dddcefdcc56f7bb574b911c9f2' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_install.sigdata.bf859e6a1293873570398b9bb5985cf52fd5063167e41982de7654ab0eaae860' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.1a58b70dc6d5603759317eae619cae800aad6931792369177a104444377cc328' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_write_rpm.sigdata.ff24591a4417413bf286f9e71c84d5c2269f9b96281a07f40549644af42c3d97' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_compile.sigdata.71fef31c7bbce861911f82dd52b09c5a6fc249de935b8367ea20082adef7633f' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_configure.sigdata.f7f84daf9d8df2a85fd595496b99ff1d6d23d51a7d9f0d82bb1f9b0abc9a7b99' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_populate_sysroot.sigdata.b3f362658ce87e7e720f29144364fae73eb8a1eaaf897c5c0e2468ba8f13a6b4' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package.sigdata.b5181478414e28c3dd45ae98b6eab21ed4ef1a15e03cb4de9180e50e1cd3cf00' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.3415af033f8229cb7feed2837e9af07578edddfb21352d467c6ad4a2d80ccee6' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_install.sigdata.92074371f84fc2a53a748fb31021ea4bfe391ea30866ae3fe170c6c608e13a04' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_packagedata.sigdata.03502fab07462a4db1a68ac3ece92c0415bc986397296574397d05b21aee1f1c' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_qa.sigdata.97f781f84907e0c40a014339446dc0098dc89fa8cd0d4f9a681908337e3f1424' 2021-08-19 19:17:53,313 - oe-selftest - INFO - ====================================================================== 2021-08-19 19:17:53,313 - oe-selftest - INFO - FAIL: test_sstate_sametune_samesigs (sstatetests.SStateTests) 2021-08-19 19:17:53,313 - oe-selftest - INFO - ---------------------------------------------------------------------- 2021-08-19 19:17:53,314 - oe-selftest - INFO - Traceback (most recent call last): File "/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/lib/oeqa/selftest/cases/sstatetests.py", line 449, in test_sstate_sametune_samesigs self.assertCountEqual(files1, files2) AssertionError: Element counts were not equal: First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.fc54579cc139c777172242c3da3e095f4308c5ce606b2365a5b86c4371ee4f86' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_compile.sigdata.86cb5a1346b0615cb21fab3c0110cc964eccedbb94b2ccf99546dfd456897cca' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_install.sigdata.a1c0c3ed27e293a2daaa185482dc7fee2ed18490748e5077f8012882091aa2a8' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.a77e66f54b1be8285f4b33bafdd3d15e0a1ea694c0fd18832c61efb8c8fb312a' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_install.sigdata.b5d31a12e244bccafa0e5b8152c051c7d071855da0b638a3479ce7d677f146b5' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.4fd86084264170fb770ca358d1c3efd8dd70e231fe0d2328f98de3732c50a2a7' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.448a8113230a16ac5d606de18989f98b3700edeb3e7956c6f02207aa76a5d4f3' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_compile.sigdata.de7ff2af7f15af3b23a6ceb362ffa91602eebd17e19ed3df7709d81c2c390ce4' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_compile.sigdata.5ed1d5378e69e6ce244174b1becfb5340fb7349d25780cc8f5a7f222b4bf5cde' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_install.sigdata.4fb2c2301f0aca4a4e2add6ca1656d3bf843b88cf31819c70ac4de60cca2b513' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_configure.sigdata.1330164135e31705d4f1120ded68cd49dc32eb8d37945854b8383f7894366f61' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.c92d02429f22ecf3c6bb5c31cd2f4faaca852e6115e549be6a1154ef88e42049' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package.sigdata.8614d96d94145c5a40e074b90ab4d10e2a228c8dd39916213ca67f96632d6133' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_packagedata.sigdata.fdfe6627047063dcf31c49165a716901448863c29235d9cedc5e07ceb73527b1' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_write_rpm.sigdata.7537a5040399eaf51e4eb82b4c4d7a4927bfe40b38ce70ebc67be217b945c3de' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_populate_sysroot.sigdata.31bd54b8811665bd9b0da94add1042a768272b88b3301c916ac3f318db87c508' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_qa.sigdata.13cbaa397a096de35904dd0f8750b19c16419d7d1a2fae0f14c2c7923a308c28' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.9bc0d54595e72e4e4da3980443c1df558581966144ace9f189e526419b7ce2d4' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_qa.sigdata.19d7bc678a149de0d7f4b97f862f9ee271ef5c66c91886a5852335ed916f9e8b' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_install.sigdata.1e8482a852298d971b4640702a5723b3cf472ef802731b7fa4af7ad63b2fd48d' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_compile.sigdata.f149b25486972d08fc27e40653849eab265b3a31800aa8cf81f50a094b3060ac' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_packagedata.sigdata.4e63c49044a74657f9437ea8d75aecb086aa14bead0471e3b4927d975a3101a7' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.cf1734d0d9b1b20bafeb8c59d6bd812147b6ce5edd59e188f27cbc243038dbdf' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.f5feb243311ea6bbf2fcd150821e6bb1e5024b361e37e21c8cac275cd542de25' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_configure.sigdata.87d8770b4dfad359aba60cc05741c8b3cc6de3f27f4d7afdd4409394833f0899' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package.sigdata.0e813eb4208488aa2f444072feb41274c1045f7e285b29298ac9275c76b24ad5' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_packagedata.sigdata.3cc10eb84345704add643a12ddddf290a02d4b3c0482382e7b322192f629af56' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_install.sigdata.df3851ac16cc5fbef4a87ac73a43a54b9914581075b8fdd9ce41d4058c3c6ea1' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.7d6215490248e5b6ebdd13606b0eb5d8afca26574a204f58e73c7880a7360c4a' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.9a8775d578e4e91c87ef0965d09260480b343a7cb586372f5c2f3f46ea7826ea' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package.sigdata.4ee3961f0c45352fe0e2b994dff393489529690dd01875bef5279ef6663f82eb' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_configure.sigdata.c7e1878a5670ac2759ed65c00c7832356aaa3ef8b8b8aac0ffda0fe8fe63c70d' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.869b9a50422604a92d6ed74fe38423f8f6ed6e80ce79255247e77214b5157546' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_compile.sigdata.8bcb4d754f0a6dccf2cea9ea1935a5330697e80a9e83c83749212a4b94a28939' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_qa.sigdata.09aa4c5f61302977f5a89a55a7ccf914f99a71c10f04c77742ceec7008954990' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_qa.sigdata.7f6a8e8e9487d8636bb66616077cf81081086062a24615142e5898a64695a29f' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.de37e9ffbafd6fa03ee163ac594b7b419aacaa7f76e841d5755f8f8c60fc229d' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_write_rpm.sigdata.9bddcac412aa8ee310498f0d7c7a4a06075cc34c0e2592ecff24245b21a4b570' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_install.sigdata.77e14b907df816833644f466be6a219a5dd4ba6a12e18a0bd94b3d2f45febedd' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_compile.sigdata.9cea907c87090b4d9f0cf4460629546297a47db724809fbfd5ee7730401b7574' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_populate_sysroot.sigdata.19fc3d945202f03fe941cdb046886fb934f8267a60e28a7be0f6e2686a479c26' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_packagedata.sigdata.e49c2774170926d3efacc76132e129b5cbdd264971e8087ecc4f307ae8ea4961' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_configure.sigdata.6597ee477731c9440692237db01a70832e473588ab7082751a2f2c9d87c556ae' First has 1, Second has 0: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package.sigdata.f229bd686fa4d08a7ced7fc54292e959f5b7483734d4aef92f27e9cc1b126f9b' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_compile.sigdata.65f3be30da4dc333a13bbf69d4f0cf418730718936e4f633a01a94f33b8ebef1' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.8ed5b5d7c9a60b44b5097425b26ce5557ec3420cb761c9295c56307d5ddaec22' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.331b2d9bcff9e6e81582074f1cd8587ffb4eeb64c73a1d2cbdfa0e563a1abff3' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/lib32-rust-cross-i686/1.54.0-r0.do_install.sigdata.a8ae893a542660b332a7cd22e9e982c4241135b06ef30125d487cf2ee92b3b91' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_install.sigdata.045bfaf4832974f96447aa7f7c431abd3c32c56d1956d921354b10f2e57aa7ee' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_compile.sigdata.27dddf67e61a73c1c42fbebf2ec5cd58d9c6b18b79ab9d3bbc61f350b393700a' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.83d1a26ebe7e2df3f496024a297ba782e145e6982457e09102d5e7c4fbf1b3b7' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_populate_sysroot.sigdata.891d5abc469d187e34b531bf81a1ef742d6b834204af8c43ee0949744f2ea413' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_configure.sigdata.59dc8b0def7802484c734787962400026246f70c2bf48ade3baeac5671d9c47f' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_populate_sysroot.sigdata.7358ba758bc3a8c76d87a45ecb5dc8cb3224b45098f81d3724b226295922c475' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_qa.sigdata.ad013cb428b0fc127583e1ca7a5f39a4cca7cd7fe13fa669ed3cbc4b9ee3332a' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_install.sigdata.88e565d06d7c69e985da195f7752911022a974d6b9e89d82699de274d107f853' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package.sigdata.802365a52628bc0b173556977b135e38fee5fbfc415327bbb0b695ef601a4709' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_packagedata.sigdata.a3c32256c02d42d24d639b04f6fc2073b0c53c840cd008f4b8b788b94977da94' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_compile.sigdata.19d6cef321ed3808d928b6de955b214f1a3444afc6e6fe73b68447060d66cdff' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.16c650c390029ea40a19975d6e9ac1c9e8486cb82ff49607cbb380a771ffe970' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/rust/1.54.0-r0.do_package_write_rpm.sigdata.6d745c3a58e4d35933079194d8e83979ea0d032a9d6498c880305b8b283b8412' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_configure.sigdata.149b205adb6a48cb396e6da73dd45fb13c51ece5c0e56e01b4458e32a8bbc21c' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_qa.sigdata.914dc0f062bcc4d4898cafff2b380735b5bfb2343408fb6460046f400f73755b' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_packagedata.sigdata.71beb081559a476e39a0527a8a42b92c9e4ee209dedbf67e82d1ccc03babf9fb' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_compile.sigdata.c2bddf0463e3c501a9ccaf1b1511f322311fb5e8c244e6cff9046db8c65e8f72' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package.sigdata.c6e360d90dae93948f78fdc15d054df8d76fb998bfe8e7d5d194f3dcf24ce30f' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.6f146b8c3d06fd84630198af8e2b8b7d8446c82c0e2f292f5b33043b67c698c9' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.d3afb749ff9f7f41f9a79b6f2d7d00615c3a05435e75d91cad2ebec11843bc92' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_install.sigdata.17e30337464c783f7ae7e2c156bb747ef149606d78d58d1f144a01196d94315a' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/core2-32-poky-linux/libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.4d760c1f09a402e714c869b5f5f4af5b831e8fc3f0df3c40168387f10cb7c324' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_qa.sigdata.c57da894fee804da21cdadeb46ce4eb4109ca220edb97317e4c1643a43ba9e2d' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_compile.sigdata.29c8e6034e583ae319c6c10f7c4836d1e36dd1958be403909015aef467f9aae4' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package_write_rpm.sigdata.6c4edfb164464b469d13f708c0cec9aef53029579999abfcfcb422986bd12e32' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_package.sigdata.5f1e651a667cc88f31cd1aec4957dd8b5ae7fbc23afc2b4c333354d019a662ff' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_configure.sigdata.ec87c5e68c278794e01b1b9c04638282cfd51c49f33cb8edb0fec532c8c82e2c' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_packagedata.sigdata.f0ded7162e6e6e9fcc5f1979ceae387c460572398e2711ec2e72eb8fa35fe714' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_populate_sysroot.sigdata.77885fed1ad105f8827d4249a8a708879922b9dddcefdcc56f7bb574b911c9f2' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_install.sigdata.bf859e6a1293873570398b9bb5985cf52fd5063167e41982de7654ab0eaae860' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-libstd-rs/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.1a58b70dc6d5603759317eae619cae800aad6931792369177a104444377cc328' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_write_rpm.sigdata.ff24591a4417413bf286f9e71c84d5c2269f9b96281a07f40549644af42c3d97' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_compile.sigdata.71fef31c7bbce861911f82dd52b09c5a6fc249de935b8367ea20082adef7633f' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_configure.sigdata.f7f84daf9d8df2a85fd595496b99ff1d6d23d51a7d9f0d82bb1f9b0abc9a7b99' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_populate_sysroot.sigdata.b3f362658ce87e7e720f29144364fae73eb8a1eaaf897c5c0e2468ba8f13a6b4' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package.sigdata.b5181478414e28c3dd45ae98b6eab21ed4ef1a15e03cb4de9180e50e1cd3cf00' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_prepare_recipe_sysroot.sigdata.3415af033f8229cb7feed2837e9af07578edddfb21352d467c6ad4a2d80ccee6' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_install.sigdata.92074371f84fc2a53a748fb31021ea4bfe391ea30866ae3fe170c6c608e13a04' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_packagedata.sigdata.03502fab07462a4db1a68ac3ece92c0415bc986397296574397d05b21aee1f1c' First has 0, Second has 1: '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/tmp-sstatesamehash/stamps/x86-pokymllib32-linux/lib32-rust/1.54.0-r0.do_package_qa.sigdata.97f781f84907e0c40a014339446dc0098dc89fa8cd0d4f9a681908337e3f1424' 2021-08-19 19:17:53,314 - oe-selftest - INFO - ---------------------------------------------------------------------- 2021-08-19 19:17:53,314 - oe-selftest - INFO - Ran 2 tests in 212.678s 2021-08-19 19:17:53,315 - oe-selftest - INFO - FAILED 2021-08-19 19:17:53,315 - oe-selftest - INFO - (failures=1) 2021-08-19 19:18:00,057 - oe-selftest - INFO - RESULTS: 2021-08-19 19:18:00,058 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs: PASSED (50.63s) 2021-08-19 19:18:00,059 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs: FAILED (160.05s) 2021-08-19 19:18:00,062 - oe-selftest - INFO - SUMMARY: 2021-08-19 19:18:00,062 - oe-selftest - INFO - oe-selftest () - Ran 2 tests in 212.680s 2021-08-19 19:18:00,062 - oe-selftest - INFO - oe-selftest - FAIL - Required tests failed (successes=1, skipped=0, failures=1, errors=0) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-20 10:06 ` [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update Randy MacLeod @ 2021-08-21 2:48 ` Randy MacLeod 2021-08-21 8:46 ` Richard Purdie [not found] ` <169D3274AAECC435.19323@lists.openembedded.org> 1 sibling, 1 reply; 23+ messages in thread From: Randy MacLeod @ 2021-08-21 2:48 UTC (permalink / raw) To: Patches and discussions about the oe-core layer, Richard Purdie Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar [-- Attachment #1.1: Type: text/plain, Size: 12953 bytes --] On 2021-08-20 6:06 a.m., Randy MacLeod wrote: > Added Trevor who may be working on upgrading python-cryptography. > Added Anatol since he was interested last time we worked on merging. > > Again, let me know if you want to be dropped by replying privately. > No one from the meta-rust community responded last time so I'm > assuming that y'all are just on vacation! ;-) > > On 2021-08-17 10:52 a.m., Randy MacLeod wrote: >> On 2021-08-13 11:22 a.m., Vinay Kumar wrote: >>> Hi Randy, >>> >>>>> Vinay or I will look into glibc/qemuppc64 >>>>> if no one else is working on that. >>> >>> The failure is due to the below error in libstd-rs package build. >>> "error: unrecognized arch "powerpc64le" in target specification" >>> >>> The reason for this is "arch": "powerpc64le" from the below target >>> specific file. >>> > > ,,, > >> >> Thanks Vinay, applied. >> >> I'll push a new branch to poky-contrib later today. > > > I fixed and worked-around a few issues and pushed a new branch: > > > http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a > > > 1. There are only a few new commits including Vinay's: > > 757da4cbf1e rust: remove Rust version 1.51.0 toolchain > > a4808f787ca cargo_common: remove http_proxy > > b6941135c00 rust-common.inc: Fix build failure with qemuppc64. > > > If anyone wants to help by doing test builds, trying to generate and use > > and SDK with rust in it or anything else, that'd be great. > > > > Alex also ran a test build on the Autobuilder: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/2439 > > > > but I have yet to look at the failed stages in the run. > > > Testing logs and debugging notes below for those interested. > > ../Randy > > > > The test: > oe-selftest -r distrodata.Distrodata.test_maintainers > > > is fixed by creating maintainer records for all rusty packages > and by removing the older version of the rust toolchain: > 757da4cbf1e rust: remove Rust version 1.51.0 toolchain > > > > I suppose that if the meta-rust users want to keep an older TC > it can live in meta-rust. > > Then, these tests: > > oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs > > oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs > > > were failing. One issue was fixed by the work-around of: > > a4808f787ca cargo_common: remove http_proxy > > > Debugging the next step was a challenge since I hadn't worked > with diffsigs before. Then to simplify, I removed all rusty .bb package > ( by mv foo.bb foo.bb.hide) > until I was down to the first recipe in the dependency tree: > > rust-llvm-native. > > and then running: > oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs \ > sstatetests.SStateTests.test_sstate_sametune_samesigs \ > > > > 2021-08-19 17:54:12,878 - oe-selftest - INFO > - Ran 2 tests in 142.010s > > - OK > > - RESULTS: > > - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs: > PASSED (41.45s) > > - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs: > PASSED (98.89s) > > - SUMMARY: > > - oe-selftest () - Ran 2 tests in 142.012s > > - oe-selftest - OK - All required tests passed > (successes=2, skipped=0, failures=0, errors=0) > > > adding the next self consistent group of package: > cargo/cargo-cross-canadian_1.54.0.bb > > cargo/cargo_1.54.0.bb > > rust/libstd-rs_1.54.0.bb > > rust/rust-cross-canadian_1.54.0.bb > > rust/rust-cross_1.54.0.bb > > rust/rust-tools-cross-canadian_1.54.0.bb > > rust/rust_1.54.0.bb > > > > I see another http_proxy failure that seems to require a feature > drop in cargo: > > https://github.com/rust-lang/cargo/blob/master/src/cargo/ops/registry.rs#L524 > > > Patching out a feature doesn't seem like a good idea but > maybe someone else has a better one? > > To see if there were other problems lurking menacingly behind the proxy > error, I disabled the http_proxy test in: > meta/lib/oeqa/selftest/cases/sstatetests.py > > > -http_proxy = "http://example.com/" > > +http_proxy = "" > > > and ran again to find: > > - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs: > PASSED (50.63s) > - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs: > FAILED (160.05s) > > so that's somewhat encouraging but there is still the error: > > File ".../meta/lib/oeqa/selftest/cases/sstatetests.py", line 449, > in test_sstate_sametune_samesigs > > self.assertCountEqual(files1, files2) > > AssertionError: Element counts were not equal: > > First has 1, Second has 0: > '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/\ > tmp-sstatesamehash/stamps/x86_64-linux/\ > lib32-rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.\ > fc54579cc139c777172242c3da3e0' > > > First has 1, Second has 0: > '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/\ > tmp-sstatesamehash/stamps/x86_64-linux/\ > lib32-rust-cross-i686/1.54.0-r0.do_compile.sigdata.\ > 86cb5a1346b0615cb21fab3c0110cc964ecced' > > > ... lots of similar lines of diffsig info ... > > > Hacking the test to not clean up and > running bitbake-dumpsigs on the two sig files for the first error, > I get the two files attached. I also attached the > tmp/log/oe-selftest-results.log file. > > That's it for now. I think I've gotten to the bottom of a chain of sigs that differ in part due to: "Hash for dependent task" differing and found that on leaf node is: stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_target See below for my notes and my assertion/question about the next step needing to be deterministically ordering the elements used in rust_gen_target. ../Randy I did learn a bit about this test code that is failing: https://git.openembedded.org/openembedded-core/tree/meta/lib/oeqa/selftest/cases/sstatetests.py#n404 as the comment explains: | The sstate checksums of two identical machines (using the same tune) should be the same, apart from changes within the machine specific stamps directory. We use the qemux86copy machine to test this. Also include multilibs in the test.| so the good news is that there are: 23185files being checked and only 43 are different and if you look at what packages and arches differ it's: x86_64-linux/lib32-rust-cross-i686 x86_64-linux/rust-cross-i686 core2-32-poky-linux/rust core2-32-poky-linux/libstd-rs x86-pokymllib32-linux/lib32-libstd-rs x86-pokymllib32-linux/lib32-rust Note that these are all 32bit multilib builds. Maybe that's not so important for the initial merge to oe-core... Richard? Looking at core2-32-poky-linux/rust the stages that have different signatures are: do_configure do_populate_sysroot do_package_qa do_install do_package do_packagedata do_compile do_prepare_recipe_sysroot do_package_write_rpm 9 of the 19 stages. Ok so maybe it's not great news after all. ;-) I'll kept digging down through the tree of dependant diffsigs since when looking at do_prepare_recipe_sysroot, it was clear that a key difference in it's signatures was due to: "Hash for dependent task ..." differing. Finally I found a set of signatures that did not have a diff in the dependent task: stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_target* The simplified diff is below and the files are attached. There are a variety of variables that differ only in order, such as: -List of dependencies for variable TUNE_FEATURES is {'TUNE_FEATURES:tune-core2-32', 'DEFAULTTUNE'} +List of dependencies for variable TUNE_FEATURES is {'DEFAULTTUNE', 'TUNE_FEATURES:tune-core2-32'} I assume the next step is to find out where those variables are produced: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/tree/meta/recipes-devtools/rust/rust-common.inc?h=rmacleod/rust-redo-aug-10-2021-a#n292 and to introduce deterministic order when building them. ../Randy diff -Naur x86_64-rust-cross-i686-rust-gen-targets/* | grep "^[+-]" | cut -c -166 --- x86_64-rust-cross-i686-rust-gen-targets/1.rust-cross-i686.do_rust_gen_target 2021-08-20 22:19:19.883320107 -0400 +++ x86_64-rust-cross-i686-rust-gen-targets/2.rust-cross-i686.do_rust_gen_target 2021-08-20 22:19:19.651319015 -0400 -basewhitelist: {'CCACHE_TOP_DIR', 'SOURCE_DATE_EPOCH', 'SDKPKGSUFFIX', 'BB_WORKERCONTEXT', 'FILESEXTRAPATHS', 'HOME', 'OMP_NUM_THREADS', 'PRSERV_DUMPDIR', 'PRSERV_HO +basewhitelist: {'PWD', 'SSTATE_HASHEQUIV_OWNER', 'STAMPS_DIR', 'CCACHE', 'BB_WORKERCONTEXT', 'COREBASE', 'BBPATH', 'HOME', 'TMPDIR', 'ERROR_QA', 'SSTATE_HASHEQUIV_ME -basehash: bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab +basehash: d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b -List of dependencies for variable TUNE_ARCH is {'X86ARCH32', 'X86ARCH64'} +List of dependencies for variable TUNE_ARCH is {'X86ARCH64', 'X86ARCH32'} -List of dependencies for variable TUNE_FEATURES is {'TUNE_FEATURES:tune-core2-32', 'DEFAULTTUNE'} +List of dependencies for variable TUNE_FEATURES is {'DEFAULTTUNE', 'TUNE_FEATURES:tune-core2-32'} -List of dependencies for variable llvm_cpu is {'PACKAGE_ARCH', 'TUNE_FEATURES', 'TRANSLATED_TARGET_ARCH'} -List of dependencies for variable llvm_features is {'llvm_features_from_cc_arch', 'llvm_features_from_tune', 'llvm_features_from_target_fpu'} +List of dependencies for variable llvm_cpu is {'PACKAGE_ARCH', 'TRANSLATED_TARGET_ARCH', 'TUNE_FEATURES'} +List of dependencies for variable llvm_features is {'llvm_features_from_target_fpu', 'llvm_features_from_cc_arch', 'llvm_features_from_tune'} -List of dependencies for variable llvm_features_from_tune is {'target_is_armv7', 'TUNE_FEATURES', 'ARM_THUMB_OPT', 'MACHINEOVERRIDES'} +List of dependencies for variable llvm_features_from_tune is {'ARM_THUMB_OPT', 'TUNE_FEATURES', 'target_is_armv7', 'MACHINEOVERRIDES'} -List of dependencies for variable rust_gen_target is {'sys_for', 'arch_to_rust_target_arch', 'RUST_PANIC_STRATEGY', 'prefix_for'} +List of dependencies for variable rust_gen_target is {'sys_for', 'prefix_for', 'arch_to_rust_target_arch', 'RUST_PANIC_STRATEGY'} -List of dependencies for variable target_is_armv7 is {'TARGET_ARCH', 'TUNE_FEATURES', 'MACHINEOVERRIDES'} +List of dependencies for variable target_is_armv7 is {'TUNE_FEATURES', 'TARGET_ARCH', 'MACHINEOVERRIDES'} -Variable MACHINE value is qemux86 -Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemua +Variable MACHINE value is qemux86copy +Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemua -Computed base hash is bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab and from file bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab -Computed task hash is 448a8113230a16ac5d606de18989f98b3700edeb3e7956c6f02207aa76a5d4f3 +Computed base hash is d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b and from file d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b +Computed task hash is 83d1a26ebe7e2df3f496024a297ba782e145e6982457e09102d5e7c4fbf1b3b7 > > > ../Randy > > >> >> ../Randy >>> >>> On Fri, Aug 13, 2021 at 8:50 PM Vinay Kumar <vinay.m.engg@gmail.com> >>> wrote: >>>> >>>> rust-common.inc: Fix build failure with qemuppc64. >>>> >>>> The glibc build of "rust-hello-world" throws error in libstd-rs >>>> package. >>>> error: unrecognized arch "powerpc64le" in target specification >>>> >>>> The same got fixed by changing the arch to "powerpc64". >>>> >>>> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> >>>> --- >>>> meta/recipes-devtools/rust/rust-common.inc | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/meta/recipes-devtools/rust/rust-common.inc >>>> b/meta/recipes-devtools/rust/rust-common.inc >>>> index 350517c723..f574152815 100644 >>>> --- a/meta/recipes-devtools/rust/rust-common.inc >>>> +++ b/meta/recipes-devtools/rust/rust-common.inc >>>> @@ -248,6 +248,8 @@ def arch_to_rust_target_arch(arch): >>>> return "mips64" >>>> elif arch == "armv7": >>>> return "arm" >>>> + elif arch == "powerpc64le": >>>> + return "powerpc64" >>>> else: >>>> return arch >>>> >>>> -- >>>> 2.31.1 >>>> >> >> >> >> >> >> > > -- # Randy MacLeod # Wind River Linux [-- Attachment #1.2: Type: text/html, Size: 20740 bytes --] [-- Attachment #2: 1.rust-cross-i686.do_rust_gen_target --] [-- Type: text/plain, Size: 13792 bytes --] basewhitelist: {'CCACHE_TOP_DIR', 'SOURCE_DATE_EPOCH', 'SDKPKGSUFFIX', 'BB_WORKERCONTEXT', 'FILESEXTRAPATHS', 'HOME', 'OMP_NUM_THREADS', 'PRSERV_DUMPDIR', 'PRSERV_HOST', 'BBSERVER', 'PARALLEL_MAKE', 'BBPATH', 'ERROR_QA', 'FILE_DIRNAME', 'THISDIR', 'BB_HASHSERVE', 'PKGDATA_DIR', 'STAMPS_DIR', 'SSTATE_PKGARCH', 'BB_LIMITEDDEPS', 'STAGING_DIR_TARGET', 'FILE', 'LOGNAME', 'TMPDIR', 'extend_recipe_sysroot', 'GIT_CEILING_DIRECTORIES', 'SSTATE_HASHEQUIV_METHOD', 'BUILD_ARCH', 'SHELL', 'PSEUDO_IGNORE_PATHS', 'STAGING_DIR_HOST', 'WARN_QA', 'PWD', 'BB_TASKHASH', 'PRSERV_LOCKDOWN', 'BB_UNIHASH', 'CCACHE_NOHASHDIR', 'SSTATE_HASHEQUIV_OWNER', 'SSTATE_DIR', 'DL_DIR', 'SSTATE_HASHEQUIV_REPORT_TASKDATA', 'FILESPATH', 'PRSERV_DUMPFILE', 'CCACHE_DIR', 'BUILDHISTORY_DIR', 'PATH', 'EXTERNAL_TOOLCHAIN', 'WORKDIR', 'COREBASE', 'DEPLOY_DIR', 'LICENSE_PATH', 'CCACHE', 'USER', 'STAMPCLEAN'} taskwhitelist: None Task dependencies: ['ARM_THUMB_OPT', 'DEFAULTTUNE', 'MACHINE', 'MACHINEOVERRIDES', 'PACKAGE_ARCH', 'RUST_PANIC_STRATEGY', 'TARGET_ARCH', 'TARGET_CC_ARCH', 'TARGET_FPU', 'TARGET_LLVM_CPU', 'TARGET_LLVM_FEATURES', 'TRANSLATED_TARGET_ARCH', 'TUNE_ARCH', 'TUNE_CCARGS', 'TUNE_FEATURES', 'TUNE_FEATURES:tune-core2-32', 'TUNE_FEATURES:tune-x86', 'X86ARCH32', 'X86ARCH64', 'arch_to_rust_target_arch', 'llvm_cpu', 'llvm_features', 'llvm_features_from_cc_arch', 'llvm_features_from_target_fpu', 'llvm_features_from_tune', 'prefix_for', 'rust_gen_target', 'sys_for', 'target_is_armv7'] basehash: bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab List of dependencies for variable ARM_THUMB_OPT is set() List of dependencies for variable DEFAULTTUNE is set() List of dependencies for variable MACHINE is set() List of dependencies for variable MACHINEOVERRIDES is {'MACHINE'} List of dependencies for variable PACKAGE_ARCH is set() List of dependencies for variable RUST_PANIC_STRATEGY is set() List of dependencies for variable TARGET_ARCH is {'TUNE_ARCH'} List of dependencies for variable TARGET_CC_ARCH is {'TUNE_CCARGS'} List of dependencies for variable TARGET_FPU is set() List of dependencies for variable TARGET_LLVM_CPU is {'llvm_cpu'} List of dependencies for variable TARGET_LLVM_FEATURES is {'llvm_features'} List of dependencies for variable TRANSLATED_TARGET_ARCH is {'TARGET_ARCH'} List of dependencies for variable TUNE_ARCH is {'X86ARCH32', 'X86ARCH64'} List of dependencies for variable TUNE_CCARGS is set() List of dependencies for variable TUNE_FEATURES is {'TUNE_FEATURES:tune-core2-32', 'DEFAULTTUNE'} List of dependencies for variable TUNE_FEATURES:tune-core2-32 is {'TUNE_FEATURES:tune-x86'} List of dependencies for variable TUNE_FEATURES:tune-x86 is set() List of dependencies for variable X86ARCH32 is set() List of dependencies for variable X86ARCH64 is set() List of dependencies for variable arch_to_rust_target_arch is set() List of dependencies for variable llvm_cpu is {'PACKAGE_ARCH', 'TUNE_FEATURES', 'TRANSLATED_TARGET_ARCH'} List of dependencies for variable llvm_features is {'llvm_features_from_cc_arch', 'llvm_features_from_tune', 'llvm_features_from_target_fpu'} List of dependencies for variable llvm_features_from_cc_arch is {'TARGET_CC_ARCH'} List of dependencies for variable llvm_features_from_target_fpu is {'TARGET_FPU'} List of dependencies for variable llvm_features_from_tune is {'target_is_armv7', 'TUNE_FEATURES', 'ARM_THUMB_OPT', 'MACHINEOVERRIDES'} List of dependencies for variable prefix_for is set() List of dependencies for variable rust_gen_target is {'sys_for', 'arch_to_rust_target_arch', 'RUST_PANIC_STRATEGY', 'prefix_for'} List of dependencies for variable sys_for is set() List of dependencies for variable target_is_armv7 is {'TARGET_ARCH', 'TUNE_FEATURES', 'MACHINEOVERRIDES'} Variable do_rust_gen_targets value is wd = d.getVar('WORKDIR') + '/targets/' # It is important 'TARGET' is last here so that it overrides our less # informed choices for BUILD & HOST if TARGET happens to be the same as # either of them. for thing in ['BUILD', 'HOST', 'TARGET']: bb.debug(1, "rust_gen_target for " + thing) features = "" cpu = "generic" arch = d.getVar('{}_ARCH'.format(thing)) if thing is "TARGET": # arm and armv7 have different targets in llvm if arch == "arm" and target_is_armv7(d): arch = 'armv7' features = d.getVar('TARGET_LLVM_FEATURES') or "" cpu = d.getVar('TARGET_LLVM_CPU') rust_gen_target(d, thing, wd, features, cpu, arch) Variable ARM_THUMB_OPT value is None Variable DEFAULTTUNE value is core2-32 Variable MACHINE value is qemux86 Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE} TUNE_FEATURES{m32} = Set TUNE_FEATURES{mx32} = Unset Variable PACKAGE_ARCH value is ${BUILD_ARCH} Variable RUST_PANIC_STRATEGY value is unwind Variable TARGET_ARCH value is ${TUNE_ARCH} Variable TARGET_CC_ARCH value is ${TUNE_CCARGS} --sysroot=${STAGING_DIR_TARGET} Variable TARGET_FPU value is Variable TARGET_LLVM_CPU value is ${@llvm_cpu(d)} Variable TARGET_LLVM_FEATURES value is ${@llvm_features(d)} Variable TRANSLATED_TARGET_ARCH value is ${@d.getVar('TARGET_ARCH').replace("_", "-")} Variable TUNE_ARCH value is ${@bb.utils.contains('TUNE_FEATURES', 'm32', '${X86ARCH32}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'mx32', '${X86ARCH64}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm64', '${X86ARCH64}', '', d)} TUNE_FEATURES{m32} = Set TUNE_FEATURES{m64} = Unset TUNE_FEATURES{mx32} = Unset Variable TUNE_CCARGS value is -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse Variable TUNE_FEATURES value is ${TUNE_FEATURES:tune-${DEFAULTTUNE}} Variable TUNE_FEATURES:tune-core2-32 value is ${TUNE_FEATURES:tune-x86} core2 Variable TUNE_FEATURES:tune-x86 value is m32 Variable X86ARCH32 value is i686 Variable X86ARCH64 value is x86_64 Variable arch_to_rust_target_arch value is def arch_to_rust_target_arch(arch): if arch == "i586" or arch == "i686": return "x86" elif arch == "mipsel": return "mips" elif arch == "mip64sel": return "mips64" elif arch == "armv7": return "arm" elif arch == "powerpc64le": return "powerpc64" else: return arch # generates our target CPU value Variable llvm_cpu value is def llvm_cpu(d): cpu = d.getVar('PACKAGE_ARCH') target = d.getVar('TRANSLATED_TARGET_ARCH') trans = {} trans['corei7-64'] = "corei7" trans['core2-32'] = "core2" trans['x86-64'] = "x86-64" trans['i686'] = "i686" trans['i586'] = "i586" trans['powerpc'] = "powerpc" trans['mips64'] = "mips64" trans['mips64el'] = "mips64" trans['riscv64'] = "generic-rv64" trans['riscv32'] = "generic-rv32" if target in ["mips", "mipsel"]: feat = frozenset(d.getVar('TUNE_FEATURES').split()) if "mips32r2" in feat: trans['mipsel'] = "mips32r2" trans['mips'] = "mips32r2" elif "mips32" in feat: trans['mipsel'] = "mips32" trans['mips'] = "mips32" try: return trans[cpu] except: return trans.get(target, "generic") Variable llvm_features value is def llvm_features(d): return ','.join(llvm_features_from_tune(d) + llvm_features_from_cc_arch(d) + llvm_features_from_target_fpu(d)) ## arm-unknown-linux-gnueabihf Variable llvm_features_from_cc_arch value is def llvm_features_from_cc_arch(d): f = [] feat = d.getVar('TARGET_CC_ARCH') if not feat: return [] feat = frozenset(feat.split()) if '-mmmx' in feat: f.append("+mmx") if '-msse' in feat: f.append("+sse") if '-msse2' in feat: f.append("+sse2") if '-msse3' in feat: f.append("+sse3") if '-mssse3' in feat: f.append("+ssse3") if '-msse4.1' in feat: f.append("+sse4.1") if '-msse4.2' in feat: f.append("+sse4.2") if '-msse4a' in feat: f.append("+sse4a") if '-mavx' in feat: f.append("+avx") if '-mavx2' in feat: f.append("+avx2") return f Variable llvm_features_from_target_fpu value is def llvm_features_from_target_fpu(d): # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float # ABI. There is no option for hard. fpu = d.getVar('TARGET_FPU', True) return ["+soft-float"] if fpu == "soft" else [] Variable llvm_features_from_tune value is def llvm_features_from_tune(d): f = [] feat = d.getVar('TUNE_FEATURES') if not feat: return [] feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) if 'vfpv4' in feat: f.append("+vfp4") if 'vfpv3' in feat: f.append("+vfp3") if 'vfpv3d16' in feat: f.append("+d16") if 'vfpv2' in feat or 'vfp' in feat: f.append("+vfp2") if 'neon' in feat: f.append("+neon") if 'mips32' in feat: f.append("+mips32") if 'mips32r2' in feat: f.append("+mips32r2") if target_is_armv7(d): f.append('+v7') if ('armv6' in mach_overrides) or ('armv6' in feat): f.append("+v6") if 'armv5te' in feat: f.append("+strict-align") f.append("+v5te") elif 'armv5' in feat: f.append("+strict-align") f.append("+v5") if ('armv4' in mach_overrides) or ('armv4' in feat): f.append("+strict-align") if 'dsp' in feat: f.append("+dsp") if 'thumb' in feat: if d.getVar('ARM_THUMB_OPT') == "thumb": if target_is_armv7(d): f.append('+thumb2') f.append("+thumb-mode") if 'cortexa5' in feat: f.append("+a5") if 'cortexa7' in feat: f.append("+a7") if 'cortexa9' in feat: f.append("+a9") if 'cortexa15' in feat: f.append("+a15") if 'cortexa17' in feat: f.append("+a17") if ('riscv64' in feat) or ('riscv32' in feat): f.append("+a,+c,+d,+f,+m") return f # TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing # this should go away when https://github.com/rust-lang/rust/pull/31709 is # stable (1.9.0?) Variable prefix_for value is def prefix_for(d, thing): return d.getVar('{}_PREFIX'.format(thing)) # Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something # rust's internals won't choke on. Variable rust_gen_target value is def rust_gen_target(d, thing, wd, features, cpu, arch): import json sys = sys_for(d, thing) prefix = prefix_for(d, thing) features = features or d.getVarFlag('FEATURES', arch) or "" features = features.strip() # build tspec tspec = {} tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch) tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch) tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch)) tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch) tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch) tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch) tspec['arch'] = arch_to_rust_target_arch(arch) tspec['os'] = "linux" if "musl" in tspec['llvm-target']: tspec['env'] = "musl" else: tspec['env'] = "gnu" if "riscv64" in tspec['llvm-target']: tspec['llvm-abiname'] = "lp64d" if "riscv32" in tspec['llvm-target']: tspec['llvm-abiname'] = "ilp32d" tspec['vendor'] = "unknown" tspec['target-family'] = "unix" tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix) tspec['ar'] = "{}ar".format(prefix) tspec['cpu'] = cpu if features != "": tspec['features'] = features tspec['dynamic-linking'] = True tspec['executables'] = True tspec['linker-is-gnu'] = True tspec['linker-flavor'] = "gcc" tspec['has-rpath'] = True tspec['has-elf-tls'] = True tspec['position-independent-executables'] = True tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY") # write out the target spec json file with open(wd + sys + '.json', 'w') as f: json.dump(tspec, f, indent=4) Variable sys_for value is def sys_for(d, thing): return d.getVar('{}_SYS'.format(thing)) Variable target_is_armv7 value is def target_is_armv7(d): '''Determine if target is armv7''' # TUNE_FEATURES may include arm* even if the target is not arm # in the case of *-native packages if d.getVar('TARGET_ARCH') != 'arm': return False feat = d.getVar('TUNE_FEATURES') feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve']) if mach_overrides.isdisjoint(v7) and feat.isdisjoint(v7): return False else: return True # Responsible for taking Yocto triples and converting it to Rust triples Tasks this task depends on: ['/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch'] This task depends on the checksums of files: [] Hash for dependent task /ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch is ec4a9ed86df1c8c2b27bb1e422655cb2cedc1d9a36b720fab636b9af9e3cca48 Computed base hash is bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab and from file bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab Computed task hash is 448a8113230a16ac5d606de18989f98b3700edeb3e7956c6f02207aa76a5d4f3 [-- Attachment #3: 2.rust-cross-i686.do_rust_gen_target --] [-- Type: text/plain, Size: 13804 bytes --] basewhitelist: {'PWD', 'SSTATE_HASHEQUIV_OWNER', 'STAMPS_DIR', 'CCACHE', 'BB_WORKERCONTEXT', 'COREBASE', 'BBPATH', 'HOME', 'TMPDIR', 'ERROR_QA', 'SSTATE_HASHEQUIV_METHOD', 'BB_TASKHASH', 'GIT_CEILING_DIRECTORIES', 'SSTATE_HASHEQUIV_REPORT_TASKDATA', 'CCACHE_NOHASHDIR', 'BB_HASHSERVE', 'BUILD_ARCH', 'PRSERV_LOCKDOWN', 'BUILDHISTORY_DIR', 'SDKPKGSUFFIX', 'PATH', 'WORKDIR', 'OMP_NUM_THREADS', 'SHELL', 'EXTERNAL_TOOLCHAIN', 'PARALLEL_MAKE', 'STAGING_DIR_HOST', 'PSEUDO_IGNORE_PATHS', 'USER', 'FILESPATH', 'STAGING_DIR_TARGET', 'BB_UNIHASH', 'LICENSE_PATH', 'DL_DIR', 'SSTATE_DIR', 'SOURCE_DATE_EPOCH', 'CCACHE_TOP_DIR', 'PRSERV_HOST', 'LOGNAME', 'FILESEXTRAPATHS', 'FILE_DIRNAME', 'STAMPCLEAN', 'SSTATE_PKGARCH', 'PKGDATA_DIR', 'PRSERV_DUMPDIR', 'BBSERVER', 'extend_recipe_sysroot', 'PRSERV_DUMPFILE', 'WARN_QA', 'BB_LIMITEDDEPS', 'THISDIR', 'FILE', 'DEPLOY_DIR', 'CCACHE_DIR'} taskwhitelist: None Task dependencies: ['ARM_THUMB_OPT', 'DEFAULTTUNE', 'MACHINE', 'MACHINEOVERRIDES', 'PACKAGE_ARCH', 'RUST_PANIC_STRATEGY', 'TARGET_ARCH', 'TARGET_CC_ARCH', 'TARGET_FPU', 'TARGET_LLVM_CPU', 'TARGET_LLVM_FEATURES', 'TRANSLATED_TARGET_ARCH', 'TUNE_ARCH', 'TUNE_CCARGS', 'TUNE_FEATURES', 'TUNE_FEATURES:tune-core2-32', 'TUNE_FEATURES:tune-x86', 'X86ARCH32', 'X86ARCH64', 'arch_to_rust_target_arch', 'llvm_cpu', 'llvm_features', 'llvm_features_from_cc_arch', 'llvm_features_from_target_fpu', 'llvm_features_from_tune', 'prefix_for', 'rust_gen_target', 'sys_for', 'target_is_armv7'] basehash: d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b List of dependencies for variable ARM_THUMB_OPT is set() List of dependencies for variable DEFAULTTUNE is set() List of dependencies for variable MACHINE is set() List of dependencies for variable MACHINEOVERRIDES is {'MACHINE'} List of dependencies for variable PACKAGE_ARCH is set() List of dependencies for variable RUST_PANIC_STRATEGY is set() List of dependencies for variable TARGET_ARCH is {'TUNE_ARCH'} List of dependencies for variable TARGET_CC_ARCH is {'TUNE_CCARGS'} List of dependencies for variable TARGET_FPU is set() List of dependencies for variable TARGET_LLVM_CPU is {'llvm_cpu'} List of dependencies for variable TARGET_LLVM_FEATURES is {'llvm_features'} List of dependencies for variable TRANSLATED_TARGET_ARCH is {'TARGET_ARCH'} List of dependencies for variable TUNE_ARCH is {'X86ARCH64', 'X86ARCH32'} List of dependencies for variable TUNE_CCARGS is set() List of dependencies for variable TUNE_FEATURES is {'DEFAULTTUNE', 'TUNE_FEATURES:tune-core2-32'} List of dependencies for variable TUNE_FEATURES:tune-core2-32 is {'TUNE_FEATURES:tune-x86'} List of dependencies for variable TUNE_FEATURES:tune-x86 is set() List of dependencies for variable X86ARCH32 is set() List of dependencies for variable X86ARCH64 is set() List of dependencies for variable arch_to_rust_target_arch is set() List of dependencies for variable llvm_cpu is {'PACKAGE_ARCH', 'TRANSLATED_TARGET_ARCH', 'TUNE_FEATURES'} List of dependencies for variable llvm_features is {'llvm_features_from_target_fpu', 'llvm_features_from_cc_arch', 'llvm_features_from_tune'} List of dependencies for variable llvm_features_from_cc_arch is {'TARGET_CC_ARCH'} List of dependencies for variable llvm_features_from_target_fpu is {'TARGET_FPU'} List of dependencies for variable llvm_features_from_tune is {'ARM_THUMB_OPT', 'TUNE_FEATURES', 'target_is_armv7', 'MACHINEOVERRIDES'} List of dependencies for variable prefix_for is set() List of dependencies for variable rust_gen_target is {'sys_for', 'prefix_for', 'arch_to_rust_target_arch', 'RUST_PANIC_STRATEGY'} List of dependencies for variable sys_for is set() List of dependencies for variable target_is_armv7 is {'TUNE_FEATURES', 'TARGET_ARCH', 'MACHINEOVERRIDES'} Variable do_rust_gen_targets value is wd = d.getVar('WORKDIR') + '/targets/' # It is important 'TARGET' is last here so that it overrides our less # informed choices for BUILD & HOST if TARGET happens to be the same as # either of them. for thing in ['BUILD', 'HOST', 'TARGET']: bb.debug(1, "rust_gen_target for " + thing) features = "" cpu = "generic" arch = d.getVar('{}_ARCH'.format(thing)) if thing is "TARGET": # arm and armv7 have different targets in llvm if arch == "arm" and target_is_armv7(d): arch = 'armv7' features = d.getVar('TARGET_LLVM_FEATURES') or "" cpu = d.getVar('TARGET_LLVM_CPU') rust_gen_target(d, thing, wd, features, cpu, arch) Variable ARM_THUMB_OPT value is None Variable DEFAULTTUNE value is core2-32 Variable MACHINE value is qemux86copy Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE}:qemux86 TUNE_FEATURES{m32} = Set TUNE_FEATURES{mx32} = Unset Variable PACKAGE_ARCH value is ${BUILD_ARCH} Variable RUST_PANIC_STRATEGY value is unwind Variable TARGET_ARCH value is ${TUNE_ARCH} Variable TARGET_CC_ARCH value is ${TUNE_CCARGS} --sysroot=${STAGING_DIR_TARGET} Variable TARGET_FPU value is Variable TARGET_LLVM_CPU value is ${@llvm_cpu(d)} Variable TARGET_LLVM_FEATURES value is ${@llvm_features(d)} Variable TRANSLATED_TARGET_ARCH value is ${@d.getVar('TARGET_ARCH').replace("_", "-")} Variable TUNE_ARCH value is ${@bb.utils.contains('TUNE_FEATURES', 'm32', '${X86ARCH32}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'mx32', '${X86ARCH64}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm64', '${X86ARCH64}', '', d)} TUNE_FEATURES{m32} = Set TUNE_FEATURES{m64} = Unset TUNE_FEATURES{mx32} = Unset Variable TUNE_CCARGS value is -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse Variable TUNE_FEATURES value is ${TUNE_FEATURES:tune-${DEFAULTTUNE}} Variable TUNE_FEATURES:tune-core2-32 value is ${TUNE_FEATURES:tune-x86} core2 Variable TUNE_FEATURES:tune-x86 value is m32 Variable X86ARCH32 value is i686 Variable X86ARCH64 value is x86_64 Variable arch_to_rust_target_arch value is def arch_to_rust_target_arch(arch): if arch == "i586" or arch == "i686": return "x86" elif arch == "mipsel": return "mips" elif arch == "mip64sel": return "mips64" elif arch == "armv7": return "arm" elif arch == "powerpc64le": return "powerpc64" else: return arch # generates our target CPU value Variable llvm_cpu value is def llvm_cpu(d): cpu = d.getVar('PACKAGE_ARCH') target = d.getVar('TRANSLATED_TARGET_ARCH') trans = {} trans['corei7-64'] = "corei7" trans['core2-32'] = "core2" trans['x86-64'] = "x86-64" trans['i686'] = "i686" trans['i586'] = "i586" trans['powerpc'] = "powerpc" trans['mips64'] = "mips64" trans['mips64el'] = "mips64" trans['riscv64'] = "generic-rv64" trans['riscv32'] = "generic-rv32" if target in ["mips", "mipsel"]: feat = frozenset(d.getVar('TUNE_FEATURES').split()) if "mips32r2" in feat: trans['mipsel'] = "mips32r2" trans['mips'] = "mips32r2" elif "mips32" in feat: trans['mipsel'] = "mips32" trans['mips'] = "mips32" try: return trans[cpu] except: return trans.get(target, "generic") Variable llvm_features value is def llvm_features(d): return ','.join(llvm_features_from_tune(d) + llvm_features_from_cc_arch(d) + llvm_features_from_target_fpu(d)) ## arm-unknown-linux-gnueabihf Variable llvm_features_from_cc_arch value is def llvm_features_from_cc_arch(d): f = [] feat = d.getVar('TARGET_CC_ARCH') if not feat: return [] feat = frozenset(feat.split()) if '-mmmx' in feat: f.append("+mmx") if '-msse' in feat: f.append("+sse") if '-msse2' in feat: f.append("+sse2") if '-msse3' in feat: f.append("+sse3") if '-mssse3' in feat: f.append("+ssse3") if '-msse4.1' in feat: f.append("+sse4.1") if '-msse4.2' in feat: f.append("+sse4.2") if '-msse4a' in feat: f.append("+sse4a") if '-mavx' in feat: f.append("+avx") if '-mavx2' in feat: f.append("+avx2") return f Variable llvm_features_from_target_fpu value is def llvm_features_from_target_fpu(d): # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float # ABI. There is no option for hard. fpu = d.getVar('TARGET_FPU', True) return ["+soft-float"] if fpu == "soft" else [] Variable llvm_features_from_tune value is def llvm_features_from_tune(d): f = [] feat = d.getVar('TUNE_FEATURES') if not feat: return [] feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) if 'vfpv4' in feat: f.append("+vfp4") if 'vfpv3' in feat: f.append("+vfp3") if 'vfpv3d16' in feat: f.append("+d16") if 'vfpv2' in feat or 'vfp' in feat: f.append("+vfp2") if 'neon' in feat: f.append("+neon") if 'mips32' in feat: f.append("+mips32") if 'mips32r2' in feat: f.append("+mips32r2") if target_is_armv7(d): f.append('+v7') if ('armv6' in mach_overrides) or ('armv6' in feat): f.append("+v6") if 'armv5te' in feat: f.append("+strict-align") f.append("+v5te") elif 'armv5' in feat: f.append("+strict-align") f.append("+v5") if ('armv4' in mach_overrides) or ('armv4' in feat): f.append("+strict-align") if 'dsp' in feat: f.append("+dsp") if 'thumb' in feat: if d.getVar('ARM_THUMB_OPT') == "thumb": if target_is_armv7(d): f.append('+thumb2') f.append("+thumb-mode") if 'cortexa5' in feat: f.append("+a5") if 'cortexa7' in feat: f.append("+a7") if 'cortexa9' in feat: f.append("+a9") if 'cortexa15' in feat: f.append("+a15") if 'cortexa17' in feat: f.append("+a17") if ('riscv64' in feat) or ('riscv32' in feat): f.append("+a,+c,+d,+f,+m") return f # TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing # this should go away when https://github.com/rust-lang/rust/pull/31709 is # stable (1.9.0?) Variable prefix_for value is def prefix_for(d, thing): return d.getVar('{}_PREFIX'.format(thing)) # Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something # rust's internals won't choke on. Variable rust_gen_target value is def rust_gen_target(d, thing, wd, features, cpu, arch): import json sys = sys_for(d, thing) prefix = prefix_for(d, thing) features = features or d.getVarFlag('FEATURES', arch) or "" features = features.strip() # build tspec tspec = {} tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch) tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch) tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch)) tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch) tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch) tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch) tspec['arch'] = arch_to_rust_target_arch(arch) tspec['os'] = "linux" if "musl" in tspec['llvm-target']: tspec['env'] = "musl" else: tspec['env'] = "gnu" if "riscv64" in tspec['llvm-target']: tspec['llvm-abiname'] = "lp64d" if "riscv32" in tspec['llvm-target']: tspec['llvm-abiname'] = "ilp32d" tspec['vendor'] = "unknown" tspec['target-family'] = "unix" tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix) tspec['ar'] = "{}ar".format(prefix) tspec['cpu'] = cpu if features != "": tspec['features'] = features tspec['dynamic-linking'] = True tspec['executables'] = True tspec['linker-is-gnu'] = True tspec['linker-flavor'] = "gcc" tspec['has-rpath'] = True tspec['has-elf-tls'] = True tspec['position-independent-executables'] = True tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY") # write out the target spec json file with open(wd + sys + '.json', 'w') as f: json.dump(tspec, f, indent=4) Variable sys_for value is def sys_for(d, thing): return d.getVar('{}_SYS'.format(thing)) Variable target_is_armv7 value is def target_is_armv7(d): '''Determine if target is armv7''' # TUNE_FEATURES may include arm* even if the target is not arm # in the case of *-native packages if d.getVar('TARGET_ARCH') != 'arm': return False feat = d.getVar('TUNE_FEATURES') feat = frozenset(feat.split()) mach_overrides = d.getVar('MACHINEOVERRIDES') mach_overrides = frozenset(mach_overrides.split(':')) v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve']) if mach_overrides.isdisjoint(v7) and feat.isdisjoint(v7): return False else: return True # Responsible for taking Yocto triples and converting it to Rust triples Tasks this task depends on: ['/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch'] This task depends on the checksums of files: [] Hash for dependent task /ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_patch is ec4a9ed86df1c8c2b27bb1e422655cb2cedc1d9a36b720fab636b9af9e3cca48 Computed base hash is d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b and from file d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b Computed task hash is 83d1a26ebe7e2df3f496024a297ba782e145e6982457e09102d5e7c4fbf1b3b7 ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-21 2:48 ` Randy MacLeod @ 2021-08-21 8:46 ` Richard Purdie 0 siblings, 0 replies; 23+ messages in thread From: Richard Purdie @ 2021-08-21 8:46 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar I had a look at this. I agree the output from the test isn't great so I: oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs -j 1 then since you want to pick the earliest difference: bitbake-diffsigs ../build-st-3665/tmp-sstatesamehash*/stamps/x86_64-linux/cargo-native/1.54.0-r0.do_configure.sigdata.* since if a -native is differing, you'd start there. That reports: Hash for dependent task cargo/cargo_1.54.0.bb:do_prepare_recipe_sysroot:virtual:native changed from 0eb4be5c1555696edece016e7497ed4b7a24ed1e601e4625187232b527ee9cbb to 6763576bba0c95e56b40093399df3f96ba386638f0bbe1cb405541f120128a92 so ok: bitbake-diffsigs ../build-st-3665/tmp-sstatesamehash*/stamps/x86_64-linux/cargo-native/1.54.0-r0.do_prepare*.sigdata.* Hash for dependent task rust/rust_1.54.0.bb:do_populate_sysroot:virtual:native changed from d0e0b66258d63cf6a75427dc8ee99f365edc2858087dd251924f533ead085237 to 5a7ea7762b43c59386f4f8914b98d17d4381f00f08685e429d22121157e3c58c So rust-native comes before cargo-native. Lets try the earliest rust-native we can see: bitbake-diffsigs ../build-st-3665/tmp-sstatesamehash*/stamps/x86_64-linux/rust-native/1.54.0-r0.do_configure*.sigdata.* NOTE: Starting bitbake server... basehash changed from d4562518270a3e161b7e4fef4c7b39a66ca6e32e3ae3612f4ae1623501701278 to 01cacaecd08c1d41745eaf981c5f8896d48faf755b596bfca62f52a4c35f4ea7 Variable http_proxy value changed from 'http://example.com/' to '' So it still thinks http_proxy is an issue. Why? bitbake-dumpsig ../build-st-3665/tmp-sstatesamehash/stamps/x86_64-linux/rust-native/1.54.0-r0.do_configure*.sigdata.* | grep http Task dependencies: ['AR', 'AS', 'B', 'BASEDEPENDS', 'BASELIB', 'BUILD_AR', 'BUILD_AS', 'BUILD_AS_ARCH', 'BUILD_CC', 'BUILD_CCLD', 'BUILD_CC_ARCH', 'BUILD_CFLAGS', 'BUILD_CPP', 'BUILD_CPPFLAGS', 'BUILD_CXX', 'BUILD_CXXFLAGS', 'BUILD_FC', 'BUILD_LD', 'BUILD_LDFLAGS', 'BUILD_LD_ARCH', 'BUILD_NM', 'BUILD_OPTIMIZATION', 'BUILD_OS', 'BUILD_PREFIX', 'BUILD_RANLIB', 'BUILD_STRIP', 'BUILD_SYS', 'BUILD_VENDOR', 'CARGO_DISABLE_BITBAKE_VENDORING', 'CARGO_HOME', 'CARGO_RUST_TARGET_CCLD', 'CARGO_VENDORING_DIRECTORY', 'CC', 'CCLD', 'CFLAGS', 'CONFIG_SITE', 'CPP', 'CPPFLAGS', 'CXX', 'CXXFLAGS', 'D', 'DEBUG_BUILD', 'DEPENDS', 'DISABLE_STATIC', 'EXTERNALSRC', 'EXTRA_NATIVE_PKGCONFIG_PATH', 'EXTRA_OECARGO_PATHS', 'EXTRA_OECONF', 'FC', 'FORCE_CRATE_HASH', 'HOST_ARCH', 'HOST_OS', 'HOST_PREFIX', 'HOST_SYS', 'HOST_VENDOR', 'INHIBIT_DEFAULT_RUST_DEPS', 'INSANE_SKIP', 'LC_ALL', 'LD', 'LDFLAGS', 'MAKE', 'MLPREFIX', 'NATIVE_PACKAGE_PATH_SUFFIX', 'NM', 'OBJCOPY', 'OBJDUMP', 'P', 'PACKAGECONFIG', 'PERL_HASH_SEED', 'PKG_CONFIG_ALLOW_CROSS', 'PKG_CONFIG_DIR', 'PKG_CONFIG_DISABLE_UNINSTALLED', 'PKG_CONFIG_LIBDIR', 'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR', 'PN', 'PSEUDO_DISABLED', 'PV', 'PYTHONHASHSEED', 'QA_LOGFILE', 'QA_SANE', 'RANLIB', 'READELF', 'RECIPE_SYSROOT_NATIVE', 'RUSTSRC', 'RUST_ALTERNATE_EXE_PATH', 'RUST_BUILD_CC', 'RUST_BUILD_CCLD', 'RUST_BUILD_CXX', 'RUST_TARGET_CC', 'RUST_TARGET_CCLD', 'RUST_TARGET_CXX', 'RUST_TARGET_PATH', 'S', 'SNAPSHOT_BUILD_SYS', 'SOURCE_DATE_EPOCH_FALLBACK', 'STAGING_BASE_LIBDIR_NATIVE', 'STAGING_BINDIR_NATIVE', 'STAGING_DATADIR', 'STAGING_DATADIR_NATIVE', 'STAGING_DIR_NATIVE', 'STAGING_ETCDIR_NATIVE', 'STAGING_INCDIR_NATIVE', 'STAGING_LIBDIR', 'STAGING_LIBDIR_NATIVE', 'STAGING_SBINDIR_NATIVE', 'STRINGS', 'STRIP', 'T', 'TARGET_ARCH', 'TARGET_OS', 'TARGET_SYS', 'TARGET_VENDOR', 'TZ', 'UNKNOWN_CONFIGURE_WHITELIST', 'WRAPPER_DIR', 'WRAPPER_TARGET_AR', 'WRAPPER_TARGET_CC', 'WRAPPER_TARGET_CCLD', 'WRAPPER_TARGET_CXX', 'WRAPPER_TARGET_LDFLAGS', 'YOCTO_ALTERNATE_EXE_PATH', 'YOCTO_ALTERNATE_MULTILIB_NAME', 'base_bindir', 'base_libdir', 'base_libdir_native', 'base_prefix', 'base_sbindir', 'bindir', 'bindir_native', 'cargo_common_do_configure', 'datadir', 'datadir_native', 'do_qa_configure', 'docdir', 'exec_prefix', 'http_proxy', 'includedir', 'includedir_native', 'infodir', 'libdir', 'libdir_native', 'libexecdir', 'localstatedir', 'lt_cv_sys_lib_dlsearch_path_spec', 'mandir', 'nonarch_base_libdir', 'nonarch_libdir', 'oldincludedir', 'package_qa_handle_error', 'package_qa_write_error', 'prefix', 'prefix_native', 'root_prefix', 'rust_base_dep', 'rustlibdir', 'sbindir', 'sbindir_native', 'servicedir', 'setup_cargo_environment', 'sharedstatedir', 'sysconfdir', 'sysconfdir_native', 'systemd_system_unitdir', 'systemd_unitdir', 'systemd_user_unitdir'] List of dependencies for variable cargo_common_do_configure is {'mandir', 'PKG_CONFIG_PATH', 'RUST_TARGET_PATH', 'BUILD_CXXFLAGS', 'CARGO_VENDORING_DIRECTORY', 'RANLIB', 'BUILD_LDFLAGS', 'TZ', 'BUILD_FC', 'PERL_HASH_SEED', 'BUILD_CPPFLAGS', 'S', 'base_prefix', 'datadir', 'LD', 'CPPFLAGS', 'SOURCE_DATE_EPOCH_FALLBACK', 'BUILD_CXX', 'libexecdir', 'nonarch_base_libdir', 'CARGO_RUST_TARGET_CCLD', 'CARGO_DISABLE_BITBAKE_VENDORING', 'AR', 'BUILD_CFLAGS', 'PKG_CONFIG_ALLOW_CROSS', 'http_proxy', 'lt_cv_sys_lib_dlsearch_path_spec', 'STAGING_ETCDIR_NATIVE', 'PKG_CONFIG_DIR', 'systemd_unitdir', 'MAKE', 'HOST_SYS', 'CPP', 'WRAPPER_TARGET_CCLD', 'RUST_BUILD_CCLD', 'FC', 'YOCTO_ALTERNATE_MULTILIB_NAME', 'LDFLAGS', 'CXXFLAGS', 'BUILD_LD', 'BUILD_NM', 'prefix', 'BUILD_AR', 'systemd_system_unitdir', 'libdir', 'WRAPPER_TARGET_AR', 'EXTERNALSRC', 'WRAPPER_TARGET_LDFLAGS', 'CONFIG_SITE', 'CFLAGS', 'STRIP', 'oldincludedir', 'base_bindir', 'systemd_user_unitdir', 'infodir', 'READELF', 'BUILD_CC', 'CARGO_HOME', 'WRAPPER_TARGET_CXX', 'CXX', 'BUILD_SYS', 'CC', 'docdir', 'BUILD_CPP', 'BUILD_RANLIB', 'WRAPPER_TARGET_CC', 'NM', 'bindir', 'base_libdir', 'rustlibdir', 'includedir', 'B', 'exec_prefix', 'sbindir', 'LC_ALL', 'OBJDUMP', 'YOCTO_ALTERNATE_EXE_PATH', 'FORCE_CRATE_HASH', 'nonarch_libdir', 'PKG_CONFIG_SYSROOT_DIR', 'PSEUDO_DISABLED', 'BUILD_AS', 'CCLD', 'PKG_CONFIG_LIBDIR', 'EXTRA_OECARGO_PATHS', 'BUILD_STRIP', 'PKG_CONFIG_DISABLE_UNINSTALLED', 'sysconfdir', 'base_sbindir', 'AS', 'sharedstatedir', 'BUILD_CCLD', 'STRINGS', 'localstatedir', 'PYTHONHASHSEED', 'OBJCOPY', 'servicedir'} List of dependencies for variable http_proxy is set() [http] # Multiplexing can't be enabled because http2 can't be enabled # if [ -n "${http_proxy}" ]; then # echo "proxy = \"${http_proxy}\"" >> ${CARGO_HOME}/config i.e. the lines you commented out are still there. Bitbake's shell parser isn't clever enough to know to ignore that. If you delete the lines, things are much happier! Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <169D3274AAECC435.19323@lists.openembedded.org>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <169D3274AAECC435.19323@lists.openembedded.org> @ 2021-08-22 3:12 ` Randy MacLeod 2021-08-22 11:19 ` Richard Purdie [not found] ` <169D9CED4738B0BB.18298@lists.openembedded.org> 0 siblings, 2 replies; 23+ messages in thread From: Randy MacLeod @ 2021-08-22 3:12 UTC (permalink / raw) To: Patches and discussions about the oe-core layer, Richard Purdie Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni [-- Attachment #1: Type: text/plain, Size: 19806 bytes --] On 2021-08-20 10:48 p.m., Randy MacLeod wrote: > On 2021-08-20 6:06 a.m., Randy MacLeod wrote: >> Added Trevor who may be working on upgrading python-cryptography. >> Added Anatol since he was interested last time we worked on merging. >> >> Again, let me know if you want to be dropped by replying privately. >> No one from the meta-rust community responded last time so I'm >> assuming that y'all are just on vacation! ;-) >> >> On 2021-08-17 10:52 a.m., Randy MacLeod wrote: >>> On 2021-08-13 11:22 a.m., Vinay Kumar wrote: >>>> Hi Randy, >>>> >>>>>> Vinay or I will look into glibc/qemuppc64 >>>>>> if no one else is working on that. >>>> >>>> The failure is due to the below error in libstd-rs package build. >>>> "error: unrecognized arch "powerpc64le" in target specification" >>>> >>>> The reason for this is "arch": "powerpc64le" from the below target >>>> specific file. >>>> >> >> ,,, >> >>> >>> Thanks Vinay, applied. >>> >>> I'll push a new branch to poky-contrib later today. >> >> >> I fixed and worked-around a few issues and pushed a new branch: >> >> >> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a >> >> >> 1. There are only a few new commits including Vinay's: >> >> 757da4cbf1e rust: remove Rust version 1.51.0 toolchain >> >> a4808f787ca cargo_common: remove http_proxy >> >> b6941135c00 rust-common.inc: Fix build failure with qemuppc64. >> >> >> If anyone wants to help by doing test builds, trying to generate and use >> >> and SDK with rust in it or anything else, that'd be great. >> >> >> >> Alex also ran a test build on the Autobuilder: >> >> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/2439 >> >> >> >> but I have yet to look at the failed stages in the run. >> >> >> Testing logs and debugging notes below for those interested. >> >> ../Randy >> >> >> >> The test: >> oe-selftest -r distrodata.Distrodata.test_maintainers >> >> >> is fixed by creating maintainer records for all rusty packages >> and by removing the older version of the rust toolchain: >> 757da4cbf1e rust: remove Rust version 1.51.0 toolchain >> >> >> >> I suppose that if the meta-rust users want to keep an older TC >> it can live in meta-rust. >> >> Then, these tests: >> >> oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs >> >> oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs >> >> >> were failing. One issue was fixed by the work-around of: >> >> a4808f787ca cargo_common: remove http_proxy >> >> >> Debugging the next step was a challenge since I hadn't worked >> with diffsigs before. Then to simplify, I removed all rusty .bb package >> ( by mv foo.bb >> <https://urldefense.com/v3/__http://foo.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWpsy_PUvWQ$> >> foo.bb.hide) >> until I was down to the first recipe in the dependency tree: >> >> rust-llvm-native. >> >> and then running: >> oe-selftest -r sstatetests.SStateTests.test_sstate_noop_samesigs \ >> sstatetests.SStateTests.test_sstate_sametune_samesigs \ >> >> >> >> 2021-08-19 17:54:12,878 - oe-selftest - INFO >> - Ran 2 tests in 142.010s >> >> - OK >> >> - RESULTS: >> >> - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs: >> PASSED (41.45s) >> >> - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs: >> PASSED (98.89s) >> >> - SUMMARY: >> >> - oe-selftest () - Ran 2 tests in 142.012s >> >> - oe-selftest - OK - All required tests passed >> (successes=2, skipped=0, failures=0, errors=0) >> >> >> adding the next self consistent group of package: >> cargo/cargo-cross-canadian_1.54.0.bb >> <https://urldefense.com/v3/__http://cargo-cross-canadian_1.54.0.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWpvCxIrDwA$> >> >> >> cargo/cargo_1.54.0.bb >> <https://urldefense.com/v3/__http://cargo_1.54.0.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWptRWUAvyA$> >> >> >> rust/libstd-rs_1.54.0.bb >> <https://urldefense.com/v3/__http://libstd-rs_1.54.0.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWpuNZ1zxTA$> >> >> >> rust/rust-cross-canadian_1.54.0.bb >> <https://urldefense.com/v3/__http://rust-cross-canadian_1.54.0.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWpvu8Kgohw$> >> >> >> rust/rust-cross_1.54.0.bb >> <https://urldefense.com/v3/__http://rust-cross_1.54.0.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWpuYvgjUig$> >> >> >> rust/rust-tools-cross-canadian_1.54.0.bb >> <https://urldefense.com/v3/__http://rust-tools-cross-canadian_1.54.0.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWpv42uDIpQ$> >> >> >> rust/rust_1.54.0.bb >> <https://urldefense.com/v3/__http://rust_1.54.0.bb__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWps4C8-W7g$> >> >> >> >> >> I see another http_proxy failure that seems to require a feature >> drop in cargo: >> >> https://github.com/rust-lang/cargo/blob/master/src/cargo/ops/registry.rs#L524 >> >> >> Patching out a feature doesn't seem like a good idea but >> maybe someone else has a better one? >> >> To see if there were other problems lurking menacingly behind the proxy >> error, I disabled the http_proxy test in: >> meta/lib/oeqa/selftest/cases/sstatetests.py >> <https://urldefense.com/v3/__http://sstatetests.py__;!!AjveYdw8EvQ!IgwYWcWmCub5aQLbkRB6aDq3QRH6tsJ6nak3hdCaB0jy1kp9MmL2hQHzPNhpWptCntmNRQ$> >> >> >> >> -http_proxy = "http://example.com/" >> >> +http_proxy = "" >> >> >> and ran again to find: >> >> - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs: >> PASSED (50.63s) >> - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs: >> FAILED (160.05s) >> >> so that's somewhat encouraging but there is still the error: >> >> File ".../meta/lib/oeqa/selftest/cases/sstatetests.py", line 449, >> in test_sstate_sametune_samesigs >> >> self.assertCountEqual(files1, files2) >> >> AssertionError: Element counts were not equal: >> >> First has 1, Second has 0: >> '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/\ >> tmp-sstatesamehash/stamps/x86_64-linux/\ >> lib32-rust-cross-i686/1.54.0-r0.do_rust_gen_targets.sigdata.\ >> fc54579cc139c777172242c3da3e0' >> >> >> First has 1, Second has 0: >> '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a-st/\ >> tmp-sstatesamehash/stamps/x86_64-linux/\ >> lib32-rust-cross-i686/1.54.0-r0.do_compile.sigdata.\ >> 86cb5a1346b0615cb21fab3c0110cc964ecced' >> >> >> ... lots of similar lines of diffsig info ... >> >> >> Hacking the test to not clean up and >> running bitbake-dumpsigs on the two sig files for the first error, >> I get the two files attached. I also attached the >> tmp/log/oe-selftest-results.log file. >> >> That's it for now. > > > I think I've gotten to the bottom of a chain of sigs that differ in > part due to: > "Hash for dependent task" differing and found that on leaf node is: > > stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_target > > See below for my notes and my assertion/question about the next step > needing > to be deterministically ordering the elements used in rust_gen_target. > > ../Randy > With a patch from Richard, and the http_proxy check removed, $ git diff | grep "^[+-]" --- a/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py -http_proxy = "http://example.com/" +http_proxy = "" we have fixed the oe-selftest that was failing. Any volunteers to stub out the http[s]_proxy code in cargo ? I've written up a commit log that could use some review and pushed an update to: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a I starting to work on the YP autobuilder issues. I can build: $ bitbake cargo-cross-canadian-x86-64 Adding this: require conf/multilib.conf MULTILIBS = 'multilib:lib32' DEFAULTTUNE:virtclass-multilib-lib32 = 'x86' to my local.conf, I see that: $ bitbake lib32-rust fails with the error: --- failed to execute command: "/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a/tmp/work/x86-pokymllib32-linux/lib32-rust/1.54.0-r0/lib32-recipe-sysroot/usr/lib/llvm-rust/bin/llvm-config" "--bindir" | error: No such file or directory (os error 2) --- Khem, a MUSL build fails: $ TCLIBC=musl bitbake rust-hello-world as shown below (1) but I'll see if that's reproducible with a clean build. I've also rebased to poky master: 3fd2dff4eb3 (origin/master, origin/HEAD, master) ref-manual: Fix reference to bbappend section of dev-manual and the two key oe-selftests still pass with the http_proxy work-around as does core-image-minimal+rust-hello-world (2) so I've pushed a new branch: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-21-2021-a Richard, Alex, Is it worth another AB run? ../Randy 1) $ TCLIBC=musl bitbake rust-hello-world ERROR: rust-cross-x86_64-1.54.0-r0 do_prepare_recipe_sysroot: Error executing a python function in exec_python_func() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:extend_recipe_sysroot(d) 0003: File: '/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/classes/staging.bbclass', lineno: 582, function: extend_recipe_sysroot 0578: if "/bin/" in l or "/sbin/" in l: 0579: # defer /*bin/* files until last in case they need libs 0580: binfiles[l] = (targetdir, dest) 0581: else: *** 0582: staging_copyfile(l, targetdir, dest, postinsts, seendirs) 0583: 0584: # Handle deferred binfiles 0585: for l in binfiles: 0586: (targetdir, dest) = binfiles[l] File: '/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/classes/staging.bbclass', lineno: 149, function: staging_copyfile 0145: if os.path.islink(c): 0146: linkto = os.readlink(c) 0147: if os.path.lexists(dest): 0148: if not os.path.islink(dest): *** 0149: raise OSError(errno.EEXIST, "Link %s already exists as a file" % dest, dest) 0150: if os.readlink(dest) == linkto: 0151: return dest 0152: raise OSError(errno.EEXIST, "Link %s already exists to a different location? (%s vs %s)" % (dest, os.readlink(dest), linkto), dest) 0153: os.symlink(linkto, dest) Exception: FileExistsError: [Errno 17] Link /ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a/tmp/work/x86_64-linux/rust-cross-x86_64/1.54.0-r0/recipe-sysroot/usr/include/c++/11.2.0/x86_64-poky-linux already ex' ERROR: Logfile of failure stored in: /ala-lpggp31/rmacleod/src/distro/yocto/b/aug-19-a/tmp/work/x86_64-linux/rust-cross-x86_64/1.54.0-r0/temp/log.do_prepare_recipe_sysroot.192760 ERROR: Task (/ala-lpggp31/rmacleod/src/distro/yocto/poky-contrib.git/meta/recipes-devtools/rust/rust-cross_1.54.0.bb:do_prepare_recipe_sysroot) failed with exit code '1' 2) There is a warning for rust-native: grep WARNING tmp/work/x86_64-linux/rust-native/1.54.0-r0/temp/log.do_populate_sysroot | fmt WARNING: File '/ala-lpggp31/rmacleod/src/distro/yocto/b/aug-21-a/tmp/work/x86_64-linux/rust-native/1.54.0-r0/recipe-sysroot-native/usr/lib/rustlib/x86_64-linux/bin/rust-llvm-dwp' from rust-native was already stripped, this will prevent future debugging! > > I did learn a bit about this test code that is failing: > > https://git.openembedded.org/openembedded-core/tree/meta/lib/oeqa/selftest/cases/sstatetests.py#n404 > > as the comment explains: > > | > The sstate checksums of two identical machines (using the same tune) > should be the > same, apart from changes within the machine specific stamps directory. > We use the > qemux86copy machine to test this. Also include multilibs in the test.| > > so the good news is that there are: 23185files being checked and > only 43 are different and if you look at what packages and arches > differ it's: > > x86_64-linux/lib32-rust-cross-i686 > x86_64-linux/rust-cross-i686 > core2-32-poky-linux/rust > core2-32-poky-linux/libstd-rs > x86-pokymllib32-linux/lib32-libstd-rs > x86-pokymllib32-linux/lib32-rust > > Note that these are all 32bit multilib builds. > Maybe that's not so important for the initial merge to oe-core... Richard? > > > Looking at core2-32-poky-linux/rust the stages that have different > signatures are: > > do_configure > do_populate_sysroot > do_package_qa > do_install > do_package > do_packagedata > do_compile > do_prepare_recipe_sysroot > do_package_write_rpm > > 9 of the 19 stages. Ok so maybe it's not great news after all. ;-) > > > I'll kept digging down through the tree of dependant diffsigs > since when looking at do_prepare_recipe_sysroot, it was clear > that a key difference in it's signatures was due to: > "Hash for dependent task ..." > differing. Finally I found a set of signatures that did not have a > diff in the dependent task: > > stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_target* > > The simplified diff is below and the files are attached. > > There are a variety of variables that differ only in order, such as: > > -List of dependencies for variable TUNE_FEATURES is > {'TUNE_FEATURES:tune-core2-32', 'DEFAULTTUNE'} > +List of dependencies for variable TUNE_FEATURES is {'DEFAULTTUNE', > 'TUNE_FEATURES:tune-core2-32'} > > I assume the next step is to find out where those variables are produced: > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/tree/meta/recipes-devtools/rust/rust-common.inc?h=rmacleod/rust-redo-aug-10-2021-a#n292 > > and to introduce deterministic order when building them. > > ../Randy > > > diff -Naur x86_64-rust-cross-i686-rust-gen-targets/* | grep "^[+-]" | > cut -c -166 > --- > x86_64-rust-cross-i686-rust-gen-targets/1.rust-cross-i686.do_rust_gen_target > 2021-08-20 22:19:19.883320107 -0400 > +++ > x86_64-rust-cross-i686-rust-gen-targets/2.rust-cross-i686.do_rust_gen_target > 2021-08-20 22:19:19.651319015 -0400 > -basewhitelist: {'CCACHE_TOP_DIR', 'SOURCE_DATE_EPOCH', > 'SDKPKGSUFFIX', 'BB_WORKERCONTEXT', 'FILESEXTRAPATHS', 'HOME', > 'OMP_NUM_THREADS', 'PRSERV_DUMPDIR', 'PRSERV_HO > +basewhitelist: {'PWD', 'SSTATE_HASHEQUIV_OWNER', 'STAMPS_DIR', > 'CCACHE', 'BB_WORKERCONTEXT', 'COREBASE', 'BBPATH', 'HOME', 'TMPDIR', > 'ERROR_QA', 'SSTATE_HASHEQUIV_ME > -basehash: > bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab > +basehash: > d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b > -List of dependencies for variable TUNE_ARCH is {'X86ARCH32', > 'X86ARCH64'} > +List of dependencies for variable TUNE_ARCH is {'X86ARCH64', > 'X86ARCH32'} > -List of dependencies for variable TUNE_FEATURES is > {'TUNE_FEATURES:tune-core2-32', 'DEFAULTTUNE'} > +List of dependencies for variable TUNE_FEATURES is {'DEFAULTTUNE', > 'TUNE_FEATURES:tune-core2-32'} > -List of dependencies for variable llvm_cpu is {'PACKAGE_ARCH', > 'TUNE_FEATURES', 'TRANSLATED_TARGET_ARCH'} > -List of dependencies for variable llvm_features is > {'llvm_features_from_cc_arch', 'llvm_features_from_tune', > 'llvm_features_from_target_fpu'} > +List of dependencies for variable llvm_cpu is {'PACKAGE_ARCH', > 'TRANSLATED_TARGET_ARCH', 'TUNE_FEATURES'} > +List of dependencies for variable llvm_features is > {'llvm_features_from_target_fpu', 'llvm_features_from_cc_arch', > 'llvm_features_from_tune'} > -List of dependencies for variable llvm_features_from_tune is > {'target_is_armv7', 'TUNE_FEATURES', 'ARM_THUMB_OPT', 'MACHINEOVERRIDES'} > +List of dependencies for variable llvm_features_from_tune is > {'ARM_THUMB_OPT', 'TUNE_FEATURES', 'target_is_armv7', 'MACHINEOVERRIDES'} > -List of dependencies for variable rust_gen_target is {'sys_for', > 'arch_to_rust_target_arch', 'RUST_PANIC_STRATEGY', 'prefix_for'} > +List of dependencies for variable rust_gen_target is {'sys_for', > 'prefix_for', 'arch_to_rust_target_arch', 'RUST_PANIC_STRATEGY'} > -List of dependencies for variable target_is_armv7 is {'TARGET_ARCH', > 'TUNE_FEATURES', 'MACHINEOVERRIDES'} > +List of dependencies for variable target_is_armv7 is > {'TUNE_FEATURES', 'TARGET_ARCH', 'MACHINEOVERRIDES'} > -Variable MACHINE value is qemux86 > -Variable MACHINEOVERRIDES value is > ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', > d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemua > +Variable MACHINE value is qemux86copy > +Variable MACHINEOVERRIDES value is > ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', > d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemua > -Computed base hash is > bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab and > from file > bd66629631e757dcccfc103c13e7de6ac3568677df3ef5ad47dd99e62427caab > -Computed task hash is > 448a8113230a16ac5d606de18989f98b3700edeb3e7956c6f02207aa76a5d4f3 > +Computed base hash is > d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b and > from file > d697cf2cbb5807e83f8b55de8012d5bb9ab8674f4bbf95587fc3ca822a47269b > +Computed task hash is > 83d1a26ebe7e2df3f496024a297ba782e145e6982457e09102d5e7c4fbf1b3b7 > > >> >> >> ../Randy >> >> >>> >>> ../Randy >>>> >>>> On Fri, Aug 13, 2021 at 8:50 PM Vinay Kumar >>>> <vinay.m.engg@gmail.com> wrote: >>>>> >>>>> rust-common.inc: Fix build failure with qemuppc64. >>>>> >>>>> The glibc build of "rust-hello-world" throws error in libstd-rs >>>>> package. >>>>> error: unrecognized arch "powerpc64le" in target specification >>>>> >>>>> The same got fixed by changing the arch to "powerpc64". >>>>> >>>>> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> >>>>> --- >>>>> meta/recipes-devtools/rust/rust-common.inc | 2 ++ >>>>> 1 file changed, 2 insertions(+) >>>>> >>>>> diff --git a/meta/recipes-devtools/rust/rust-common.inc >>>>> b/meta/recipes-devtools/rust/rust-common.inc >>>>> index 350517c723..f574152815 100644 >>>>> --- a/meta/recipes-devtools/rust/rust-common.inc >>>>> +++ b/meta/recipes-devtools/rust/rust-common.inc >>>>> @@ -248,6 +248,8 @@ def arch_to_rust_target_arch(arch): >>>>> return "mips64" >>>>> elif arch == "armv7": >>>>> return "arm" >>>>> + elif arch == "powerpc64le": >>>>> + return "powerpc64" >>>>> else: >>>>> return arch >>>>> >>>>> -- >>>>> 2.31.1 >>>>> >>> >>> >>> >>> >>> >>> >> >> > > -- > # Randy MacLeod > # Wind River Linux > > > -- # Randy MacLeod # Wind River Linux [-- Attachment #2: Type: text/html, Size: 32197 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-22 3:12 ` Randy MacLeod @ 2021-08-22 11:19 ` Richard Purdie 2021-08-22 12:45 ` Randy MacLeod [not found] ` <169D9CED4738B0BB.18298@lists.openembedded.org> 1 sibling, 1 reply; 23+ messages in thread From: Richard Purdie @ 2021-08-22 11:19 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: > On 2021-08-20 10:48 p.m., Randy MacLeod wrote: > With a patch from Richard, and the http_proxy check removed, > $ git diff | grep "^[+-]" > --- a/meta/lib/oeqa/selftest/cases/sstatetests.py > +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py > -http_proxy = "http://example.com/" > +http_proxy = "" > > we have fixed the oe-selftest that was failing. > Any volunteers to stub out the http[s]_proxy code in cargo ? > I've written up a commit log that could use some review and pushed an update > to: > > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a > I'm not sure you need to change cargo, I think if you remove the bit in the bbclass that injects http_proxy, the tests are ok. That will perhaps break anyone using proxies but for now, I think that is a reasonable step of getting this moved forward? I think there is one selftest issue left which is a multilib one. Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-22 11:19 ` Richard Purdie @ 2021-08-22 12:45 ` Randy MacLeod 2021-08-23 9:21 ` Richard Purdie 0 siblings, 1 reply; 23+ messages in thread From: Randy MacLeod @ 2021-08-22 12:45 UTC (permalink / raw) To: Richard Purdie, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni On 2021-08-22 7:19 a.m., Richard Purdie wrote: > On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: >> On 2021-08-20 10:48 p.m., Randy MacLeod wrote: >> With a patch from Richard, and the http_proxy check removed, >> $ git diff | grep "^[+-]" >> --- a/meta/lib/oeqa/selftest/cases/sstatetests.py >> +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py >> -http_proxy = "http://example.com/" >> +http_proxy = "" >> >> we have fixed the oe-selftest that was failing. >> Any volunteers to stub out the http[s]_proxy code in cargo ? >> I've written up a commit log that could use some review and pushed an update >> to: >> >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a >> > > > I'm not sure you need to change cargo, I think if you remove the bit in the > bbclass that injects http_proxy, the tests are ok. That will perhaps break > anyone using proxies but for now, I think that is a reasonable step of getting > this moved forward? That's what I hoped for as well but not what my testing showed. I removed (commented out actually) the http_proxy injection here: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-redo-aug-17-2021-a&id=a4808f787caf8d0b44cf3946cf204164f24f91d4 but the test still fails unless I mangle the test: meta/lib/oeqa/selftest/cases/sstatetests.py -http_proxy = "http://example.com/" +http_proxy = "" ../Randy > > I think there is one selftest issue left which is a multilib one. > > Cheers, > > Richard > > -- # Randy MacLeod # Wind River Linux ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-22 12:45 ` Randy MacLeod @ 2021-08-23 9:21 ` Richard Purdie 2021-08-24 16:48 ` Randy MacLeod [not found] ` <169E4C0C80951608.1595@lists.openembedded.org> 0 siblings, 2 replies; 23+ messages in thread From: Richard Purdie @ 2021-08-23 9:21 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni On Sun, 2021-08-22 at 08:45 -0400, Randy MacLeod wrote: > On 2021-08-22 7:19 a.m., Richard Purdie wrote: > > On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: > > > On 2021-08-20 10:48 p.m., Randy MacLeod wrote: > > > With a patch from Richard, and the http_proxy check removed, > > > $ git diff | grep "^[+-]" > > > --- a/meta/lib/oeqa/selftest/cases/sstatetests.py > > > +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py > > > -http_proxy = "http://example.com/" > > > +http_proxy = "" > > > > > > we have fixed the oe-selftest that was failing. > > > Any volunteers to stub out the http[s]_proxy code in cargo ? > > > I've written up a commit log that could use some review and pushed an update > > > to: > > > > > > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a > > > > > > > > > I'm not sure you need to change cargo, I think if you remove the bit in the > > bbclass that injects http_proxy, the tests are ok. That will perhaps break > > anyone using proxies but for now, I think that is a reasonable step of getting > > this moved forward? > > That's what I hoped for as well but not what my testing showed. > > I removed (commented out actually) the http_proxy injection here: > > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-redo-aug-17-2021-a&id=a4808f787caf8d0b44cf3946cf204164f24f91d4 > > but the test still fails unless I mangle the test: > > meta/lib/oeqa/selftest/cases/sstatetests.py > > > -http_proxy = "http://example.com/" > > > +http_proxy = "" Right, my point is that doesn't remove it. You need to delete it, not comment it out. The issue is that bitbake does variable expansion on the scripts before running them. It can't tell that this is a comment, just that the script differs after variable expansion. Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-23 9:21 ` Richard Purdie @ 2021-08-24 16:48 ` Randy MacLeod [not found] ` <169E4C0C80951608.1595@lists.openembedded.org> 1 sibling, 0 replies; 23+ messages in thread From: Randy MacLeod @ 2021-08-24 16:48 UTC (permalink / raw) To: Richard Purdie, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, steven Add Steven Walter in hopes that he or someone else who uses meta-rust will help out. On 2021-08-23 5:21 a.m., Richard Purdie wrote: > On Sun, 2021-08-22 at 08:45 -0400, Randy MacLeod wrote: >> On 2021-08-22 7:19 a.m., Richard Purdie wrote: >>> On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: >>>> On 2021-08-20 10:48 p.m., Randy MacLeod wrote: >>>> With a patch from Richard, and the http_proxy check removed, >>>> $ git diff | grep "^[+-]" >>>> --- a/meta/lib/oeqa/selftest/cases/sstatetests.py >>>> +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py >>>> -http_proxy = "http://example.com/" >>>> +http_proxy = "" >>>> >>>> we have fixed the oe-selftest that was failing. >>>> Any volunteers to stub out the http[s]_proxy code in cargo ? >>>> I've written up a commit log that could use some review and pushed an update >>>> to: >>>> >>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a >>>> >>> >>> I'm not sure you need to change cargo, I think if you remove the bit in the >>> bbclass that injects http_proxy, the tests are ok. That will perhaps break >>> anyone using proxies but for now, I think that is a reasonable step of getting >>> this moved forward? >> That's what I hoped for as well but not what my testing showed. >> >> I removed (commented out actually) the http_proxy injection here: >> >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-redo-aug-17-2021-a&id=a4808f787caf8d0b44cf3946cf204164f24f91d4 >> >> but the test still fails unless I mangle the test: >> >> meta/lib/oeqa/selftest/cases/sstatetests.py >> >> >> -http_proxy = "http://example.com/" >> >> >> +http_proxy = "" > Right, my point is that doesn't remove it. You need to delete it, not comment it > out. > > The issue is that bitbake does variable expansion on the scripts before running > them. > > It can't tell that this is a comment, just that the script differs after > variable expansion. > > Cheers, > > Richard > > > Richard has fixed several new issues and is testing this in master-next: http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=master-next using the YP autobuilder. We're seeing some odd intermittent build failures especially when using the uninative class (used by default in poky) perhaps on older hosts but we're not 100% sure of that correlation yet. See below and: https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/581/steps/13/logs/stdio If we can't get this fixed in the next day or two, we'll miss the fall release. ../Randy error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/build/bootstrap/debug/deps/libproc_macro_error_attr-9c7a09885c50c72e.so) --> /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/vendor/proc-macro-error/src/lib.rs:284:9 284 | pub use proc_macro_error_attr::proc_macro_error; | ^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error error: could not compile `proc-macro-error` -- # Randy MacLeod # Wind River Linux ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <169E4C0C80951608.1595@lists.openembedded.org>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <169E4C0C80951608.1595@lists.openembedded.org> @ 2021-08-27 4:05 ` Randy MacLeod 2021-08-27 9:03 ` Richard Purdie ` (3 more replies) 0 siblings, 4 replies; 23+ messages in thread From: Randy MacLeod @ 2021-08-27 4:05 UTC (permalink / raw) To: Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, Richard Purdie, Orling, Timothy T On 2021-08-24 12:48 p.m., Randy MacLeod wrote: > Add Steven Walter in hopes that he or someone else > who uses meta-rust will help out. > > On 2021-08-23 5:21 a.m., Richard Purdie wrote: >> On Sun, 2021-08-22 at 08:45 -0400, Randy MacLeod wrote: >>> On 2021-08-22 7:19 a.m., Richard Purdie wrote: >>>> On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: >>>>> On 2021-08-20 10:48 p.m., Randy MacLeod wrote: >>>>> With a patch from Richard, and the http_proxy check removed, >>>>> $ git diff | grep "^[+-]" >>>>> --- a/meta/lib/oeqa/selftest/cases/sstatetests.py >>>>> +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py >>>>> -http_proxy = "http://example.com/" >>>>> +http_proxy = "" >>>>> we have fixed the oe-selftest that was failing. >>>>> Any volunteers to stub out the http[s]_proxy code in cargo ? >>>>> I've written up a commit log that could use some review and pushed >>>>> an update >>>>> to: >>>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a >>>>> >>>>> >>>> >>>> I'm not sure you need to change cargo, I think if you remove the bit >>>> in the >>>> bbclass that injects http_proxy, the tests are ok. That will perhaps >>>> break >>>> anyone using proxies but for now, I think that is a reasonable step >>>> of getting >>>> this moved forward? >>> That's what I hoped for as well but not what my testing showed. >>> >>> I removed (commented out actually) the http_proxy injection here: >>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-redo-aug-17-2021-a&id=a4808f787caf8d0b44cf3946cf204164f24f91d4 >>> >>> >>> but the test still fails unless I mangle the test: >>> >>> meta/lib/oeqa/selftest/cases/sstatetests.py >>> >>> >>> -http_proxy = "http://example.com/" >>> >>> >>> +http_proxy = "" >> Right, my point is that doesn't remove it. You need to delete it, not >> comment it >> out. >> >> The issue is that bitbake does variable expansion on the scripts >> before running >> them. >> >> It can't tell that this is a comment, just that the script differs after >> variable expansion. >> >> Cheers, >> >> Richard >> >> >> > Richard has fixed several new issues and is testing this in master-next: > http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=master-next > > using the YP autobuilder. > > We're seeing some odd intermittent build failures especially when using > the uninative class (used by default in poky) perhaps on older hosts but > we're not 100% sure of that correlation yet. See below and: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/581/steps/13/logs/stdio > > > If we can't get this fixed in the next day or two, we'll miss the fall > release. > > ../Randy Thanks to Richard's dogged determination and Herculean efforts, the Rust recipes are now merged to the oe-core master branch. https://git.openembedded.org/openembedded-core/log/?qt=range&q=master There are still some known problems, such as: 1. Tim Orling finding that Rust fails to build python-cryptography: https://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/rust_python3-cryptography Tim says that this change helps: https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix and: 2. a reproducible build failure on CentOS-7: https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 where, we see: = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ not found (required by \ /home/pokybuild/yocto-worker/reproducible-centos/build/\ build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) error: linking with `\ /home/pokybuild/yocto-worker/reproducible-centos/build/\ build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 --- Please test, send patches and/or let me know about any other problems by email or by opening a defect in the YP bugzilla: https://bugzilla.yoctoproject.org/ I'll work on a commit for meta-rust to remove the components that have been moved to oe-core. I'm not sure what the meta-rust developers and users want to do as far as what will remain in meta-rust but the short list that I have so far is: 1. scripts 2. Jenkins tests 3. Rust version 1.51.0 ? ../Randy > > > error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found > (required by > /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/build/bootstrap/debug/deps/libproc_macro_error_attr-9c7a09885c50c72e.so) > > --> > /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/vendor/proc-macro-error/src/lib.rs:284:9 > > 284 | pub use proc_macro_error_attr::proc_macro_error; > | ^^^^^^^^^^^^^^^^^^^^^ > > error: aborting due to previous error > error: could not compile `proc-macro-error` > > > > > > > > > > > -- # Randy MacLeod # Wind River Linux ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-27 4:05 ` Randy MacLeod @ 2021-08-27 9:03 ` Richard Purdie [not found] ` <7A95231E-0879-46D6-8653-85338E9BDDFA@amazon.com> [not found] ` <169F1E62C63E8EDC.31425@lists.openembedded.org> ` (2 subsequent siblings) 3 siblings, 1 reply; 23+ messages in thread From: Richard Purdie @ 2021-08-27 9:03 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, Orling, Timothy T, Richard Elberger, Kuber, Esteban On Fri, 2021-08-27 at 00:05 -0400, Randy MacLeod wrote: > Thanks to Richard's dogged determination and Herculean efforts, > the Rust recipes are now merged to the oe-core master branch. > > https://git.openembedded.org/openembedded-core/log/?qt=range&q=master > > > There are still some known problems, such as: > > 1. Tim Orling finding that Rust fails to build python-cryptography: > > > https://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/rust_python3-cryptography > > Tim says that this change helps: > > https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix > > > and: > > 2. a reproducible build failure on CentOS-7: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 > > where, we see: > = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ > not found (required by \ > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) > > > > > > error: linking with `\ > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 > I had a quick look at this. It reproduces if you build cargo-native on a centos7 machine with our M2 buildtools tarball in the environment of the build. Adding the uninative relocation hack to the cargo snapshot binary with: do_cargo_setup_snapshot () { ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig + # Need to use uninative's loader if enabled/present since the library paths + # are used internally by rust and result in symbol mismatches if we don't + if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then + patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER} + fi } didn't help. Running the command it mentions failing by hand in the same toolchain enabled shell works. It therefore seems likely that something rust is putting into the environment is breaking things. What that is, I don't know, I'm out of time to debug further. It looks to me like it is using the ld from the host instead of the buildtools tarball. I did change tmp/work/x86_64-linux/cargo-native/1.54.0- r0/wrapper/target-rust-ccld to a full path to gcc and messed with PATH to ensure it would find "our" ld first but that didn't help. In the error output is some: Usage: which [options] [--] COMMAND [...] Write the full path of COMMAND(s) to standard output. suggesting some which call might not be compatible with centos7? Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <7A95231E-0879-46D6-8653-85338E9BDDFA@amazon.com>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <7A95231E-0879-46D6-8653-85338E9BDDFA@amazon.com> @ 2021-09-01 8:44 ` Richard Purdie [not found] ` <16A0A6483A22DE64.7229@lists.openembedded.org> 1 sibling, 0 replies; 23+ messages in thread From: Richard Purdie @ 2021-09-01 8:44 UTC (permalink / raw) To: Kuber, Esteban, Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, Orling, Timothy T, Elberger, Richard Hi Esteban, On Fri, 2021-08-27 at 15:18 +0000, Kuber, Esteban wrote: > On 2021/8/27, 2:03 AM, "Richard Purdie" <richard.purdie@linuxfoundation.org> wrote: > > and: > > > > 2. a reproducible build failure on CentOS-7: > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 > > > > where, we see: > > = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ > > not found (required by \ > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) > > > > > > > > > > > > error: linking with `\ > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 > > > I had a quick look at this. It reproduces if you build cargo-native on a centos7 > machine with our M2 buildtools tarball in the environment of the build. > > Adding the uninative relocation hack to the cargo snapshot binary with: > > do_cargo_setup_snapshot () { > ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig > + # Need to use uninative's loader if enabled/present since the library paths > + # are used internally by rust and result in symbol mismatches if we don't > + if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then > + patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER} > + fi > } > > didn't help. > > Running the command it mentions failing by hand in the same toolchain enabled > shell works. It therefore seems likely that something rust is putting into the > environment is breaking things. What that is, I don't know, I'm out of time to > debug further. > > I'm looking at what that could be. If I can't give you the actual list (from the > code), I can give you a patch to print out to stderr *everything* that rustc is > setting during builds. We currently have a `-v` verbose flag in cargo that > gives out the full command with wich rustc in invoked, but as you say, the > problem is likely the environment variables at play. With some further debugging as I mentioned in my other reply, it is the LD_LIBRARY_PATH setting which is confusing things. Probably as a result of: https://doc.rust-lang.org/cargo/reference/environment-variables.html#dynamic-library-paths > It looks to me like it is using the ld from the host instead of the buildtools > tarball. I did change tmp/work/x86_64-linux/cargo-native/1.54.0- > r0/wrapper/target-rust-ccld to a full path to gcc and messed with PATH to ensure > it would find "our" ld first but that didn't help. > > This is making me wonder, could it be that we are defaulting to a linker that is > not supplied in the buildtools tar.gz? That would explain why it ends up picking > up the system's even when changing the $PATH. It is a bit more subtle than that. The ccld script has /bin/sh as the interpreter which uses the host libc and host libtinfo. The LD_LIBRARY_PATH injected by cargo causes it to find the libtinfo in the recipe-sysroot-native which is incompatible with it and things then fail :(. > > In the error output is some: > > Usage: which [options] [--] COMMAND [...] > Write the full path of COMMAND(s) to standard output. > > suggesting some which call might not be compatible with centos7? > > Cheers, > > Richard > > One clarification I would like to have is, is this the *first* time you are > trying to build rustc in this configuration, or is this a *recent* problem > introduced in 1.54? Just want to make sure that my understanding that we are > dealing with the former is correct. This is the first time we've tried this as far as I know. It is a horrible mix of different host tools and libcs from uninative, buildtools and the host all conflicting when LD_LIBRARY_PATH is set :(. I'm not sure how to go about resolving this. Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <16A0A6483A22DE64.7229@lists.openembedded.org>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <16A0A6483A22DE64.7229@lists.openembedded.org> @ 2021-09-01 9:15 ` Richard Purdie 0 siblings, 0 replies; 23+ messages in thread From: Richard Purdie @ 2021-09-01 9:15 UTC (permalink / raw) To: Kuber, Esteban, Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, Orling, Timothy T, Elberger, Richard On Wed, 2021-09-01 at 09:44 +0100, Richard Purdie via lists.openembedded.org wrote: > Hi Esteban, > > On Fri, 2021-08-27 at 15:18 +0000, Kuber, Esteban wrote: > > On 2021/8/27, 2:03 AM, "Richard Purdie" <richard.purdie@linuxfoundation.org> wrote: > > > and: > > > > > > 2. a reproducible build failure on CentOS-7: > > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 > > > > > > where, we see: > > > = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ > > > not found (required by \ > > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > > 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) > > > > > > > > > > > > > > > > > > error: linking with `\ > > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > > 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 > > > > > > I had a quick look at this. It reproduces if you build cargo-native on a centos7 > > machine with our M2 buildtools tarball in the environment of the build. > > > > Adding the uninative relocation hack to the cargo snapshot binary with: > > > > do_cargo_setup_snapshot () { > > ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig > > + # Need to use uninative's loader if enabled/present since the library paths > > + # are used internally by rust and result in symbol mismatches if we don't > > + if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then > > + patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER} > > + fi > > } > > > > didn't help. > > > > Running the command it mentions failing by hand in the same toolchain enabled > > shell works. It therefore seems likely that something rust is putting into the > > environment is breaking things. What that is, I don't know, I'm out of time to > > debug further. > > > > I'm looking at what that could be. If I can't give you the actual list (from the > > code), I can give you a patch to print out to stderr *everything* that rustc is > > setting during builds. We currently have a `-v` verbose flag in cargo that > > gives out the full command with wich rustc in invoked, but as you say, the > > problem is likely the environment variables at play. > > With some further debugging as I mentioned in my other reply, it is the > LD_LIBRARY_PATH setting which is confusing things. Probably as a result of: > > https://doc.rust-lang.org/cargo/reference/environment-variables.html#dynamic-library-paths > > > It looks to me like it is using the ld from the host instead of the buildtools > > tarball. I did change tmp/work/x86_64-linux/cargo-native/1.54.0- > > r0/wrapper/target-rust-ccld to a full path to gcc and messed with PATH to ensure > > it would find "our" ld first but that didn't help. > > > > This is making me wonder, could it be that we are defaulting to a linker that is > > not supplied in the buildtools tar.gz? That would explain why it ends up picking > > up the system's even when changing the $PATH. > > It is a bit more subtle than that. The ccld script has /bin/sh as the > interpreter which uses the host libc and host libtinfo. The LD_LIBRARY_PATH > injected by cargo causes it to find the libtinfo in the recipe-sysroot-native > which is incompatible with it and things then fail :(. > > > > > In the error output is some: > > > > Usage: which [options] [--] COMMAND [...] > > Write the full path of COMMAND(s) to standard output. > > > > suggesting some which call might not be compatible with centos7? > > > > Cheers, > > > > Richard > > > > One clarification I would like to have is, is this the *first* time you are > > trying to build rustc in this configuration, or is this a *recent* problem > > introduced in 1.54? Just want to make sure that my understanding that we are > > dealing with the former is correct. > > This is the first time we've tried this as far as I know. > > It is a horrible mix of different host tools and libcs from uninative, > buildtools and the host all conflicting when LD_LIBRARY_PATH is set :(. > > I'm not sure how to go about resolving this. I noticed some code in cargo. I think the code is where the sysroot path is injected. Since rust figures out its own paths to everything it is a little surprising this is needed and the comment suggests the author had similar thoughts. I therefore tried the following patch: Index: cargo/src/cargo/core/compiler/compilation.rs =================================================================== --- cargo.orig/src/cargo/core/compiler/compilation.rs +++ cargo/src/cargo/core/compiler/compilation.rs @@ -273,13 +273,6 @@ impl<'cfg> Compilation<'cfg> { )); search_path.push(self.deps_output[&kind].clone()); search_path.push(self.root_output[&kind].clone()); - // For build-std, we don't want to accidentally pull in any shared - // libs from the sysroot that ships with rustc. This may not be - // required (at least I cannot craft a situation where it - // matters), but is here to be safe. - if self.config.cli_unstable().build_std.is_none() { - search_path.push(self.sysroot_target_libdir[&kind].clone()); - } } let dylib_path = paths::dylib_path(); however since I think we're running a prebuilt binary rather than the one we're building, this does work. I'm therefore not sure how we can fix this. Is this code something upstream might consider removing? Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <169F1E62C63E8EDC.31425@lists.openembedded.org>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <169F1E62C63E8EDC.31425@lists.openembedded.org> @ 2021-08-27 12:04 ` Richard Purdie [not found] ` <169F2844BF9C5B85.31425@lists.openembedded.org> 1 sibling, 0 replies; 23+ messages in thread From: Richard Purdie @ 2021-08-27 12:04 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, Orling, Timothy T, Richard Elberger, Kuber, Esteban On Fri, 2021-08-27 at 10:03 +0100, Richard Purdie via lists.openembedded.org wrote: > On Fri, 2021-08-27 at 00:05 -0400, Randy MacLeod wrote: > > Thanks to Richard's dogged determination and Herculean efforts, > > the Rust recipes are now merged to the oe-core master branch. > > > > https://git.openembedded.org/openembedded-core/log/?qt=range&q=master > > > > > > There are still some known problems, such as: > > > > 1. Tim Orling finding that Rust fails to build python-cryptography: > > > > > > https://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/rust_python3-cryptography > > > > Tim says that this change helps: > > > > https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix > > > > > > and: > > > > 2. a reproducible build failure on CentOS-7: > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 > > > > where, we see: > > = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ > > not found (required by \ > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) > > > > > > > > > > > > error: linking with `\ > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 > > > > I had a quick look at this. It reproduces if you build cargo-native on a centos7 > machine with our M2 buildtools tarball in the environment of the build. > > Adding the uninative relocation hack to the cargo snapshot binary with: > > do_cargo_setup_snapshot () { > ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig > + # Need to use uninative's loader if enabled/present since the library paths > + # are used internally by rust and result in symbol mismatches if we don't > + if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then > + patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER} > + fi > } > > didn't help. > > Running the command it mentions failing by hand in the same toolchain enabled > shell works. It therefore seems likely that something rust is putting into the > environment is breaking things. What that is, I don't know, I'm out of time to > debug further. > > It looks to me like it is using the ld from the host instead of the buildtools > tarball. I did change tmp/work/x86_64-linux/cargo-native/1.54.0- > r0/wrapper/target-rust-ccld to a full path to gcc and messed with PATH to ensure > it would find "our" ld first but that didn't help. > > In the error output is some: > > Usage: which [options] [--] COMMAND [...] > Write the full path of COMMAND(s) to standard output. > > suggesting some which call might not be compatible with centos7? temp/run.do_compile: bbnote "cargo = $(which /home/pokybuild/yocto-worker/reproducible-centos/build/build-st/tmp2/work/x86_64-linux/cargo-native/1.54.0-r0/cargo-1.53.0-x86_64-unknown-linux-gnu/bin/cargo)" temp/run.do_compile: bbnote "rustc = $(which ${RUSTC})" so probably not important. Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <169F2844BF9C5B85.31425@lists.openembedded.org>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <169F2844BF9C5B85.31425@lists.openembedded.org> @ 2021-09-01 8:38 ` Richard Purdie 0 siblings, 0 replies; 23+ messages in thread From: Richard Purdie @ 2021-09-01 8:38 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, Orling, Timothy T, Richard Elberger, Kuber, Esteban On Fri, 2021-08-27 at 13:04 +0100, Richard Purdie via lists.openembedded.org wrote: > On Fri, 2021-08-27 at 10:03 +0100, Richard Purdie via lists.openembedded.org > wrote: > > On Fri, 2021-08-27 at 00:05 -0400, Randy MacLeod wrote: > > > 2. a reproducible build failure on CentOS-7: > > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 > > > > > > where, we see: > > > = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ > > > not found (required by \ > > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > > 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) > > > > > > > > > > > > > > > > > > error: linking with `\ > > > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > > > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > > > 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 > > > > > > > I had a quick look at this. It reproduces if you build cargo-native on a centos7 > > machine with our M2 buildtools tarball in the environment of the build. > > > > Adding the uninative relocation hack to the cargo snapshot binary with: > > > > do_cargo_setup_snapshot () { > > ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig > > + # Need to use uninative's loader if enabled/present since the library paths > > + # are used internally by rust and result in symbol mismatches if we don't > > + if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then > > + patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER} > > + fi > > } > > > > didn't help. > > > > Running the command it mentions failing by hand in the same toolchain enabled > > shell works. It therefore seems likely that something rust is putting into the > > environment is breaking things. What that is, I don't know, I'm out of time to > > debug further. > > > > It looks to me like it is using the ld from the host instead of the buildtools > > tarball. I did change tmp/work/x86_64-linux/cargo-native/1.54.0- > > r0/wrapper/target-rust-ccld to a full path to gcc and messed with PATH to ensure > > it would find "our" ld first but that didn't help. > > > > In the error output is some: > > > > Usage: which [options] [--] COMMAND [...] > > Write the full path of COMMAND(s) to standard output. > > > > suggesting some which call might not be compatible with centos7? > > temp/run.do_compile: bbnote "cargo = $(which /home/pokybuild/yocto-worker/reproducible-centos/build/build-st/tmp2/work/x86_64-linux/cargo-native/1.54.0-r0/cargo-1.53.0-x86_64-unknown-linux-gnu/bin/cargo)" > temp/run.do_compile: bbnote "rustc = $(which ${RUSTC})" > > so probably not important. > Distilling through all the noise, we reach this test case: where you: a) install buildtools-tarball and source the buildtools env b) build cargo-native then the failure can be reproduced with something like: [pokybuild@centos7-ty-4 build-st]$ LD_LIBRARY_PATH=/home/pokybuild/yocto-worker/reproducible-centos/build/build-st/tmp/work/x86_64-linux/cargo-native/1.54.0-r0/recipe-sysroot-native/usr/lib /home/pokybuild/yocto-worker/reproducible-centos/build/build-st/tmp/work/x86_64-linux/cargo-native/1.54.0-r0/wrapper/target-rust-ccld /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /home/pokybuild/yocto-worker/reproducible-centos/build/build-st/tmp/work/x86_64-linux/cargo-native/1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) which is because /bin/sh comes from the host and links against libtinfo, LD_LIBRARY_PATH is set by cargo to the recipe sysroot, it finds our libtinfo rather than the host one and it is incompatible with the libc/loader being used by /bin/sh. I did find this is documented in: https://doc.rust-lang.org/cargo/reference/environment-variables.html#dynamic-library-paths and I suspect this is because it is adding "the rustc sysroot library path". This also explains why running the reported ccld command by hand works since the LD_LIBRARY_PATH is no longer set. How to fix this? No idea. Could/should we make rust use a different sysroot location? Cheers, Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-27 4:05 ` Randy MacLeod 2021-08-27 9:03 ` Richard Purdie [not found] ` <169F1E62C63E8EDC.31425@lists.openembedded.org> @ 2021-08-27 14:31 ` Armin Kuster 2021-08-27 20:09 ` Tim Orling 3 siblings, 0 replies; 23+ messages in thread From: Armin Kuster @ 2021-08-27 14:31 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni, Richard Purdie, Orling, Timothy T On 8/26/21 9:05 PM, Randy MacLeod wrote: > On 2021-08-24 12:48 p.m., Randy MacLeod wrote: >> Add Steven Walter in hopes that he or someone else >> who uses meta-rust will help out. >> >> On 2021-08-23 5:21 a.m., Richard Purdie wrote: >>> On Sun, 2021-08-22 at 08:45 -0400, Randy MacLeod wrote: >>>> On 2021-08-22 7:19 a.m., Richard Purdie wrote: >>>>> On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: >>>>>> On 2021-08-20 10:48 p.m., Randy MacLeod wrote: >>>>>> With a patch from Richard, and the http_proxy check removed, >>>>>> $ git diff | grep "^[+-]" >>>>>> --- a/meta/lib/oeqa/selftest/cases/sstatetests.py >>>>>> +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py >>>>>> -http_proxy = "http://example.com/" >>>>>> +http_proxy = "" >>>>>> we have fixed the oe-selftest that was failing. >>>>>> Any volunteers to stub out the http[s]_proxy code in cargo ? >>>>>> I've written up a commit log that could use some review and >>>>>> pushed an update >>>>>> to: >>>>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a >>>>>> >>>>>> >>>>> >>>>> I'm not sure you need to change cargo, I think if you remove the >>>>> bit in the >>>>> bbclass that injects http_proxy, the tests are ok. That will >>>>> perhaps break >>>>> anyone using proxies but for now, I think that is a reasonable >>>>> step of getting >>>>> this moved forward? >>>> That's what I hoped for as well but not what my testing showed. >>>> >>>> I removed (commented out actually) the http_proxy injection here: >>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-redo-aug-17-2021-a&id=a4808f787caf8d0b44cf3946cf204164f24f91d4 >>>> >>>> >>>> but the test still fails unless I mangle the test: >>>> >>>> meta/lib/oeqa/selftest/cases/sstatetests.py >>>> >>>> >>>> -http_proxy = "http://example.com/" >>>> >>>> >>>> +http_proxy = "" >>> Right, my point is that doesn't remove it. You need to delete it, >>> not comment it >>> out. >>> >>> The issue is that bitbake does variable expansion on the scripts >>> before running >>> them. >>> >>> It can't tell that this is a comment, just that the script differs >>> after >>> variable expansion. >>> Thanks all for getting Rust in Core. - Armin >>> Cheers, >>> >>> Richard >>> >>> >>> >> Richard has fixed several new issues and is testing this in master-next: >> http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=master-next >> >> using the YP autobuilder. >> >> We're seeing some odd intermittent build failures especially when using >> the uninative class (used by default in poky) perhaps on older hosts but >> we're not 100% sure of that correlation yet. See below and: >> >> https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/581/steps/13/logs/stdio >> >> >> If we can't get this fixed in the next day or two, we'll miss the >> fall release. >> >> ../Randy > > > Thanks to Richard's dogged determination and Herculean efforts, > the Rust recipes are now merged to the oe-core master branch. > > https://git.openembedded.org/openembedded-core/log/?qt=range&q=master > > > There are still some known problems, such as: > > 1. Tim Orling finding that Rust fails to build python-cryptography: > > > https://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/rust_python3-cryptography > > > Tim says that this change helps: > > https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix > > > > and: > > 2. a reproducible build failure on CentOS-7: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 > > where, we see: > = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ > not found (required by \ > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) > > > > > > error: linking with `\ > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 > > > --- > > > Please test, send patches and/or let me know about any other problems by > email or by opening a defect in the YP bugzilla: > https://bugzilla.yoctoproject.org/ > > > I'll work on a commit for meta-rust to remove the components > that have been moved to oe-core. I'm not sure what the > meta-rust developers and users want to do as far as what will > remain in meta-rust but the short list that I have so far is: > 1. scripts > 2. Jenkins tests > 3. Rust version 1.51.0 ? > > > ../Randy > >> >> >> error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not >> found (required by >> /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/build/bootstrap/debug/deps/libproc_macro_error_attr-9c7a09885c50c72e.so) >> >> --> >> /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/vendor/proc-macro-error/src/lib.rs:284:9 >> >> 284 | pub use proc_macro_error_attr::proc_macro_error; >> | ^^^^^^^^^^^^^^^^^^^^^ >> >> error: aborting due to previous error >> error: could not compile `proc-macro-error` >> >> >> >> >> >> >> >> >> >> >> > > > > > ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update 2021-08-27 4:05 ` Randy MacLeod ` (2 preceding siblings ...) 2021-08-27 14:31 ` Armin Kuster @ 2021-08-27 20:09 ` Tim Orling 3 siblings, 0 replies; 23+ messages in thread From: Tim Orling @ 2021-08-27 20:09 UTC (permalink / raw) To: Randy MacLeod Cc: Alexandre Belloni, Khem Raj, Orling, Timothy T, Patches and discussions about the oe-core layer, Richard Purdie, Trevor Gamblin, Vinay Kumar, anbelski, cardoe, derek, dev, johan.anderholm, martin.jansa, paul, saul.wold, steven, tylerwhall, vinay.kumar [-- Attachment #1: Type: text/plain, Size: 6248 bytes --] On Thu, Aug 26, 2021 at 9:05 PM Randy MacLeod <randy.macleod@windriver.com> wrote: > On 2021-08-24 12:48 p.m., Randy MacLeod wrote: > > Add Steven Walter in hopes that he or someone else > > who uses meta-rust will help out. > > > > On 2021-08-23 5:21 a.m., Richard Purdie wrote: > >> On Sun, 2021-08-22 at 08:45 -0400, Randy MacLeod wrote: > >>> On 2021-08-22 7:19 a.m., Richard Purdie wrote: > >>>> On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: > >>>>> On 2021-08-20 10:48 p.m., Randy MacLeod wrote: > >>>>> With a patch from Richard, and the http_proxy check removed, > >>>>> $ git diff | grep "^[+-]" > >>>>> --- a/meta/lib/oeqa/selftest/cases/sstatetests.py > >>>>> +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py > >>>>> -http_proxy = "http://example.com/" > >>>>> +http_proxy = "" > >>>>> we have fixed the oe-selftest that was failing. > >>>>> Any volunteers to stub out the http[s]_proxy code in cargo ? > >>>>> I've written up a commit log that could use some review and pushed > >>>>> an update > >>>>> to: > >>>>> > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a > >>>>> > >>>>> > >>>> > >>>> I'm not sure you need to change cargo, I think if you remove the bit > >>>> in the > >>>> bbclass that injects http_proxy, the tests are ok. That will perhaps > >>>> break > >>>> anyone using proxies but for now, I think that is a reasonable step > >>>> of getting > >>>> this moved forward? > >>> That's what I hoped for as well but not what my testing showed. > >>> > >>> I removed (commented out actually) the http_proxy injection here: > >>> > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-redo-aug-17-2021-a&id=a4808f787caf8d0b44cf3946cf204164f24f91d4 > >>> > >>> > >>> but the test still fails unless I mangle the test: > >>> > >>> meta/lib/oeqa/selftest/cases/sstatetests.py > >>> > >>> > >>> -http_proxy = "http://example.com/" > >>> > >>> > >>> +http_proxy = "" > >> Right, my point is that doesn't remove it. You need to delete it, not > >> comment it > >> out. > >> > >> The issue is that bitbake does variable expansion on the scripts > >> before running > >> them. > >> > >> It can't tell that this is a comment, just that the script differs after > >> variable expansion. > >> > >> Cheers, > >> > >> Richard > >> > >> > >> > > Richard has fixed several new issues and is testing this in master-next: > > http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=master-next > > > > using the YP autobuilder. > > > > We're seeing some odd intermittent build failures especially when using > > the uninative class (used by default in poky) perhaps on older hosts but > > we're not 100% sure of that correlation yet. See below and: > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/116/builds/581/steps/13/logs/stdio > > > > > > If we can't get this fixed in the next day or two, we'll miss the fall > > release. > > > > ../Randy > > > Thanks to Richard's dogged determination and Herculean efforts, > the Rust recipes are now merged to the oe-core master branch. > > https://git.openembedded.org/openembedded-core/log/?qt=range&q=master > Thank you Richard, Randy and everyone else involved. > > > There are still some known problems, such as: > > 1. Tim Orling finding that Rust fails to build python-cryptography: > > > > https://git.openembedded.org/meta-openembedded-contrib/log/?h=timo/rust_python3-cryptography > With the patch below, this branch now builds the latest pyhton3-cryptography 3.4.8. There are some ptest warnings and errors that are still in progress. Also the recipes in this branch need a final scrub before submitting. Happy to have anyone test the branch if you use python3-cryptography. > > Tim says that this change helps: > > > https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix Patch sent to ML for this. <https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/rustc-print-cfg-fix> > > and: > > 2. a reproducible build failure on CentOS-7: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/115/builds/597 > > where, we see: > = note: /bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' \ > not found (required by \ > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > 1.54.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) > > > > > > error: linking with `\ > /home/pokybuild/yocto-worker/reproducible-centos/build/\ > build-st/reproducibleB/tmp/work/x86_64-linux/cargo-native/\ > 1.54.0-r0/wrapper/target-rust-ccld` failed: exit status: 1 > > > --- > > > Please test, send patches and/or let me know about any other problems by > email or by opening a defect in the YP bugzilla: > https://bugzilla.yoctoproject.org/ > > > I'll work on a commit for meta-rust to remove the components > that have been moved to oe-core. I'm not sure what the > meta-rust developers and users want to do as far as what will > remain in meta-rust but the short list that I have so far is: > 1. scripts > 2. Jenkins tests > 3. Rust version 1.51.0 ? > > > ../Randy > > > > > > > error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found > > (required by > > > /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/build/bootstrap/debug/deps/libproc_macro_error_attr-9c7a09885c50c72e.so) > > > > > --> > > > /home/pokybuild/yocto-worker/reproducible-debian/build/build-st/reproducibleA/tmp/work/x86_64-linux/rust-native/1.54.0-r0/rustc-1.54.0-src/vendor/proc-macro-error/src/lib.rs:284:9 > > > > > 284 | pub use proc_macro_error_attr::proc_macro_error; > > | ^^^^^^^^^^^^^^^^^^^^^ > > > > error: aborting due to previous error > > error: could not compile `proc-macro-error` > > > > > > > > > > > > > > > > > > > > > > > > > -- > # Randy MacLeod > # Wind River Linux > > > > [-- Attachment #2: Type: text/html, Size: 9826 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <169D9CED4738B0BB.18298@lists.openembedded.org>]
* Re: [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update [not found] ` <169D9CED4738B0BB.18298@lists.openembedded.org> @ 2021-08-22 12:38 ` Richard Purdie 0 siblings, 0 replies; 23+ messages in thread From: Richard Purdie @ 2021-08-22 12:38 UTC (permalink / raw) To: Randy MacLeod, Patches and discussions about the oe-core layer Cc: steven, johan.anderholm, derek, cardoe, dev, tylerwhall, Khem Raj, vinay.kumar, saul.wold, martin.jansa, paul, Trevor Gamblin, anbelski, Vinay Kumar, Alexandre Belloni On Sun, 2021-08-22 at 12:19 +0100, Richard Purdie via lists.openembedded.org wrote: > On Sat, 2021-08-21 at 23:12 -0400, Randy MacLeod wrote: > > On 2021-08-20 10:48 p.m., Randy MacLeod wrote: > > With a patch from Richard, and the http_proxy check removed, > > $ git diff | grep "^[+-]" > > --- a/meta/lib/oeqa/selftest/cases/sstatetests.py > > +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py > > -http_proxy = "http://example.com/" > > +http_proxy = "" > > > > we have fixed the oe-selftest that was failing. > > Any volunteers to stub out the http[s]_proxy code in cargo ? > > I've written up a commit log that could use some review and pushed an update > > to: > > > > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-redo-aug-17-2021-a > > > > > I'm not sure you need to change cargo, I think if you remove the bit in the > bbclass that injects http_proxy, the tests are ok. That will perhaps break > anyone using proxies but for now, I think that is a reasonable step of getting > this moved forward? > > I think there is one selftest issue left which is a multilib one. Ignore me on this last bit, its other local stuff corrupting my test, sorry for the noise. Cheers. Richard ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2021-09-01 9:15 UTC | newest] Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-08-11 0:22 [v3] [RFC] Merge meta-rust to oe-core Randy MacLeod 2021-08-11 13:14 ` Randy MacLeod 2021-08-11 15:18 ` Randy MacLeod 2021-08-13 15:19 ` [OE-core] [v4] " Vinay Kumar 2021-08-13 15:22 ` Vinay Kumar 2021-08-17 14:52 ` Randy MacLeod [not found] ` <169C1FA457B99CA0.23238@lists.openembedded.org> 2021-08-20 10:06 ` [OE-core] [v4] [RFC] Merge meta-rust to oe-core - Aug 19 update Randy MacLeod 2021-08-21 2:48 ` Randy MacLeod 2021-08-21 8:46 ` Richard Purdie [not found] ` <169D3274AAECC435.19323@lists.openembedded.org> 2021-08-22 3:12 ` Randy MacLeod 2021-08-22 11:19 ` Richard Purdie 2021-08-22 12:45 ` Randy MacLeod 2021-08-23 9:21 ` Richard Purdie 2021-08-24 16:48 ` Randy MacLeod [not found] ` <169E4C0C80951608.1595@lists.openembedded.org> 2021-08-27 4:05 ` Randy MacLeod 2021-08-27 9:03 ` Richard Purdie [not found] ` <7A95231E-0879-46D6-8653-85338E9BDDFA@amazon.com> 2021-09-01 8:44 ` Richard Purdie [not found] ` <16A0A6483A22DE64.7229@lists.openembedded.org> 2021-09-01 9:15 ` Richard Purdie [not found] ` <169F1E62C63E8EDC.31425@lists.openembedded.org> 2021-08-27 12:04 ` Richard Purdie [not found] ` <169F2844BF9C5B85.31425@lists.openembedded.org> 2021-09-01 8:38 ` Richard Purdie 2021-08-27 14:31 ` Armin Kuster 2021-08-27 20:09 ` Tim Orling [not found] ` <169D9CED4738B0BB.18298@lists.openembedded.org> 2021-08-22 12:38 ` Richard Purdie
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.