Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: openembedded-core@lists.openembedded.org,
	Alexander Kanavin <alex@linutronix.de>
Subject: Re: [OE-core] [PATCH 1/4] rust: correctly link rust-snapshot into build/stage0
Date: Sat, 18 May 2024 23:55:16 +0200	[thread overview]
Message-ID: <20240518215516883b453a@mail.local> (raw)
In-Reply-To: <20240516112111.2145436-1-alex.kanavin@gmail.com>

ello,

The series broke the -tc builds as
rust.RustSelfTestSystemEmulated.test_rust is failing:


https://autobuilder.yoctoproject.org/typhoon/#/builders/151/builds/1723/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/154/builds/1715/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/148/builds/1711/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/145/builds/1700/steps/12/logs/stdio

On 16/05/2024 13:21:08+0200, Alexander Kanavin wrote:
> From: Alexander Kanavin <alex@linutronix.de>
> 
> This does not seem to be used in regular builds, but is beneficial
> in rust selftest, where it allows dropping a custom patch
> that is unsuitable for upstream (and was rejected by them).
> 
> Also remove an obsolete comment that seems related to the code
> but describes something that was resolved long time ago.
> 
> I have confirmed that the rust selftest continues to pass with just
> this one commit on top of master (as the following changes do break
> the selftest).
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  .../rust/files/cargo-path.patch               | 37 -------------------
>  meta/recipes-devtools/rust/rust-source.inc    |  1 -
>  meta/recipes-devtools/rust/rust_1.75.0.bb     |  6 +--
>  3 files changed, 2 insertions(+), 42 deletions(-)
>  delete mode 100644 meta/recipes-devtools/rust/files/cargo-path.patch
> 
> diff --git a/meta/recipes-devtools/rust/files/cargo-path.patch b/meta/recipes-devtools/rust/files/cargo-path.patch
> deleted file mode 100644
> index 9a50c402201..00000000000
> --- a/meta/recipes-devtools/rust/files/cargo-path.patch
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -Fix the cargo binary path error and ensure that it is fetched
> -during rustc bootstrap in rust oe-selftest.
> -
> -======================================================================
> -ERROR: test_cargoflags (bootstrap_test.BuildBootstrap)
> -----------------------------------------------------------------------
> -Traceback (most recent call last):
> -  File "/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/src/bootstrap/bootstrap_test.py", line 157, in test_cargoflags
> -    args, _ = self.build_args(env={"CARGOFLAGS": "--timings"})
> -  File "/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/src/bootstrap/bootstrap_test.py", line 154, in build_args
> -    return build.build_bootstrap_cmd(env), env
> -  File "/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/src/bootstrap/bootstrap.py", line 960, in build_bootstrap_cmd
> -    raise Exception("no cargo executable found at `{}`".format(
> -Exception: no cargo executable found at `/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/build/x86_64-unknown-linux-gnu/stage0/bin/cargo`
> -
> -Upstream-Status: Submitted [https://github.com/rust-lang/rust/pull/120125]
> -
> -Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
> ----
> -diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
> ---- a/src/bootstrap/bootstrap.py
> -+++ b/src/bootstrap/bootstrap.py
> -@@ -954,9 +954,11 @@
> -         if "RUSTFLAGS_BOOTSTRAP" in env:
> -             env["RUSTFLAGS"] += " " + env["RUSTFLAGS_BOOTSTRAP"]
> -
> --        env["PATH"] = os.path.join(self.bin_root(), "bin") + \
> --            os.pathsep + env["PATH"]
> --        if not os.path.isfile(self.cargo()):
> -+        cargo_bin_path = os.path.join(self.bin_root(), "bin", "cargo")
> -+        if not os.path.isfile(cargo_bin_path):
> -+            cargo_bin_path = os.getenv("RUST_TARGET_PATH") + "rust-snapshot/bin/cargo"
> -+            env["PATH"] = os.path.dirname(cargo_bin_path) + os.pathsep + env["PATH"]
> -+        else:
> -             raise Exception("no cargo executable found at `{}`".format(
> -                 self.cargo()))
> -         args = [self.cargo(), "build", "--manifest-path",
> diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc
> index b14221b6cb8..c83c8ec3a39 100644
> --- a/meta/recipes-devtools/rust/rust-source.inc
> +++ b/meta/recipes-devtools/rust/rust-source.inc
> @@ -7,7 +7,6 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n
>              file://rv32-missing-syscalls.patch;patchdir=${RUSTSRC} \
>              file://rv32-rustix-libc-backend.patch;patchdir=${RUSTSRC} \
>              file://rv32-cargo-rustix-0.38.19-fix.patch;patchdir=${RUSTSRC} \
> -            file://cargo-path.patch;patchdir=${RUSTSRC} \
>              file://custom-target-cfg.patch;patchdir=${RUSTSRC} \
>              file://rustc-bootstrap.patch;patchdir=${RUSTSRC} \
>              file://target-build-value.patch;patchdir=${RUSTSRC} \
> diff --git a/meta/recipes-devtools/rust/rust_1.75.0.bb b/meta/recipes-devtools/rust/rust_1.75.0.bb
> index 76e1fe2d84a..8ef838ee90c 100644
> --- a/meta/recipes-devtools/rust/rust_1.75.0.bb
> +++ b/meta/recipes-devtools/rust/rust_1.75.0.bb
> @@ -35,8 +35,6 @@ RUST_ALTERNATE_EXE_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-co
>  # own vendoring.
>  CARGO_DISABLE_BITBAKE_VENDORING = "1"
>  
> -# We can't use RUST_BUILD_SYS here because that may be "musl" if
> -# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
>  setup_cargo_environment () {
>      # The first step is to build bootstrap and some early stage tools,
>      # these are build for the same target as the snapshot, e.g.
> @@ -54,8 +52,8 @@ do_rust_setup_snapshot () {
>  
>      # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
>      # and fail without it there.
> -    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
> -    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
> +    mkdir -p ${RUSTSRC}/build/${RUST_BUILD_SYS}
> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${RUST_BUILD_SYS}/stage0
>  
>      # 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
> -- 
> 2.39.2
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#199464): https://lists.openembedded.org/g/openembedded-core/message/199464
> Mute This Topic: https://lists.openembedded.org/mt/106132432/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


  parent reply	other threads:[~2024-05-18 21:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-16 11:21 [PATCH 1/4] rust: correctly link rust-snapshot into build/stage0 Alexander Kanavin
2024-05-16 11:21 ` [PATCH 2/4] rust: add reproducibility patch to eliminate host leakage Alexander Kanavin
2024-05-16 11:21 ` [PATCH 3/4] rust: use rust-snapshot binaries only in rust-native Alexander Kanavin
2024-05-16 11:21 ` [PATCH 4/4] rust: build the default set of tools Alexander Kanavin
2024-05-18 21:55 ` Alexandre Belloni [this message]
2024-05-19  0:27   ` [OE-core] [PATCH 1/4] rust: correctly link rust-snapshot into build/stage0 Alexander Kanavin
2024-05-19  0:28     ` Alexander Kanavin

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=20240518215516883b453a@mail.local \
    --to=alexandre.belloni@bootlin.com \
    --cc=alex.kanavin@gmail.com \
    --cc=alex@linutronix.de \
    --cc=openembedded-core@lists.openembedded.org \
    /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