From: "Randy MacLeod" <randy.macleod@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org,
steven@stevenwalter.org, johan.anderholm@gmail.com,
derek@asterius.io, cardoe@cardoe.com, dev@codyps.com,
tylerwhall@gmail.com, Khem Raj <raj.khem@gmail.com>,
Vinay Kumar <vinay.kumar@blackfigtech.com>,
"Wold, Saul" <saul.wold@windriver.com>,
Martin Jansa <martin.jansa@gmail.com>,
paul@pbarker.dev
Subject: Re: [v3] [RFC] Merge meta-rust to oe-core
Date: Wed, 11 Aug 2021 11:18:28 -0400 [thread overview]
Message-ID: <c64c6896-d071-574a-bce9-e13ca854016f@windriver.com> (raw)
In-Reply-To: <aa7653eb-336f-ee08-3126-e6c790a9226f@windriver.com>
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
next prev parent reply other threads:[~2021-08-11 15:18 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c64c6896-d071-574a-bce9-e13ca854016f@windriver.com \
--to=randy.macleod@windriver.com \
--cc=cardoe@cardoe.com \
--cc=derek@asterius.io \
--cc=dev@codyps.com \
--cc=johan.anderholm@gmail.com \
--cc=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=paul@pbarker.dev \
--cc=raj.khem@gmail.com \
--cc=richard.purdie@linuxfoundation.org \
--cc=saul.wold@windriver.com \
--cc=steven@stevenwalter.org \
--cc=tylerwhall@gmail.com \
--cc=vinay.kumar@blackfigtech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox