All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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 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.