public inbox for openembedded-core@lists.openembedded.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 09:14:13 -0400	[thread overview]
Message-ID: <aa7653eb-336f-ee08-3126-e6c790a9226f@windriver.com> (raw)
In-Reply-To: <38fa346a-0a95-2d6a-e842-c7b0e9fd8ff4@windriver.com>

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

  reply	other threads:[~2021-08-11 13:14 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 [this message]
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

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=aa7653eb-336f-ee08-3126-e6c790a9226f@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