stabilize stage management for rustc
tools, especially on cargo
by onur-ozkan · Pull Request #135990 · rust-lang/rust (original) (raw)
rustbot added A-testsuite
Area: The testsuite used to check the correctness of rustc
Status: Awaiting review from the assignee but also interested parties.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
labels
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
Signed-off-by: onur-ozkan work@onurozkan.dev
The job x86_64-gnu-tools
failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
thread 'main' panicked at src/bootstrap/src/bin/rustdoc.rs:78:19:
failed to run LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustdoc" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1" "--edition=2021" "--crate-type" "lib" "--color" "always" "--crate-name" "rustfmt_nightly" "--test" "src/tools/rustfmt/src/lib.rs" "--test-run-directory" "/checkout/src/tools/rustfmt" "--target" "x86_64-unknown-linux-gnu" "-L" "dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps" "-L" "dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/release/deps" "--test-args" "--quiet" "--test-args" "-Z" "--test-args" "unstable-options" "--test-args" "--format" "--test-args" "json" "--extern" "annotate_snippets=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libannotate_snippets-1c866c8d71898d13.rlib" "--extern" "anyhow=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libanyhow-044eed416c22b4b9.rlib" "--extern" "bytecount=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libbytecount-a3ede1b010f872db.rlib" "--extern" "cargo_metadata=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libcargo_metadata-257fc9997a62e608.rlib" "--extern" "clap=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libclap-d0c4a7474084d27e.rlib" "--extern" "clap_cargo=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libclap_cargo-30a9748184b99aaa.rlib" "--extern" "diff=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libdiff-a1ea3527f8eebf6f.rlib" "--extern" "dirs=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libdirs-743accae0d9ac75d.rlib" "--extern" "getopts=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libgetopts-cc45f1385ea3fefc.rlib" "--extern" "ignore=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libignore-edccb43071ae765e.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libitertools-9656da8cc10b9684.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libregex-43cbc45b509649d6.rlib" "--extern" "rustfmt_config_proc_macro=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/release/deps/librustfmt_config_proc_macro-5353399b8116dbe7.so" "--extern" "rustfmt_nightly=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/librustfmt_nightly-f79b89f1a8e9f002.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libserde-0131eb5fe1e96186.rlib" "--extern" "serde_json=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libserde_json-2b21bbd6c4ea38a0.rlib" "--extern" "term=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libterm-d5bc866e250049ae.rlib" "--extern" "thiserror=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libthiserror-f2eb385afde4b5b9.rlib" "--extern" "toml=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libtoml-9a015bf354fa4abc.rlib" "--extern" "tracing=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libtracing-1b9ab3b65b7e1d32.rlib" "--extern" "tracing_subscriber=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libtracing_subscriber-2090845275fe9414.rlib" "--extern" "unicode_properties=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libunicode_properties-f592b5e68614ecca.rlib" "--extern" "unicode_segmentation=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libunicode_segmentation-eda766795dbeb928.rlib" "--extern" "unicode_width=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-linux-gnu/release/deps/libunicode_width-69253cc673e1d8dd.rlib" "-C" "embed-bitcode=no" "--cfg" "feature=\"cargo-fmt\"" "--cfg" "feature=\"default\"" "--cfg" "feature=\"rustfmt-format-diff\"" "--check-cfg" "cfg(docsrs,test)" "--check-cfg" "cfg(feature, values(\"cargo-fmt\", \"default\", \"generic-simd\", \"rustfmt-format-diff\"))" "--cfg=windows_raw_dylib" "-Csymbol-mangling-version=v0" "-Zunstable-options" "--check-cfg=cfg(bootstrap)" "--check-cfg=cfg(llvm_enzyme)" "--check-cfg=cfg(rust_analyzer)" "-Dwarnings" "-Wrustdoc::invalid_codeblock_attributes" "--crate-version" "1.87.0-nightly\t(2ad0bf23c\t2025-02-17)" "--error-format" "human": No such file or directory (os error 2)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: doctest failed, to rerun pass `--doc`
Build completed unsuccessfully in 0:01:19
bors added a commit to rust-lang-ci/rust that referenced this pull request
…r=jieyouxu,Kobzol
stabilize stage management for rustc tools
rust-lang#135990 got out of control due to excessive complexity. This PR aims to achieve the same goal with a simpler approach, likely through multiple smaller PRs. I will keep the other one read-only and open as a reference for future work.
This work stabilizes the staging logic for ToolRustc
programs, so you no longer need to handle build and target compilers separately in steps. Previously, most tools didn't do this correctly, which was causing the compiler to be built twice (e.g., x test cargo --stage 1
would compile the stage 2 compiler before, but now it only compiles the stage 1 compiler).
I also tried to document how we should write ToolRustc
steps as they are quite different and require more attention than other tools.
Next goal is to stabilize how stages are handled for the rustc itself. Currently, x build --stage 1
builds the stage 1 compiler which is fine, but x build compiler --stage 1
builds stage 2 compiler.
for now, r? ghost
RalfJung pushed a commit to RalfJung/miri that referenced this pull request
…u,Kobzol
stabilize stage management for rustc tools
rust-lang/rust#135990 got out of control due to excessive complexity. This PR aims to achieve the same goal with a simpler approach, likely through multiple smaller PRs. I will keep the other one read-only and open as a reference for future work.
This work stabilizes the staging logic for ToolRustc
programs, so you no longer need to handle build and target compilers separately in steps. Previously, most tools didn't do this correctly, which was causing the compiler to be built twice (e.g., x test cargo --stage 1
would compile the stage 2 compiler before, but now it only compiles the stage 1 compiler).
I also tried to document how we should write ToolRustc
steps as they are quite different and require more attention than other tools.
Next goal is to stabilize how stages are handled for the rustc itself. Currently, x build --stage 1
builds the stage 1 compiler which is fine, but x build compiler --stage 1
builds stage 2 compiler.
for now, r? ghost
github-merge-queue bot pushed a commit to rust-lang/rust-analyzer that referenced this pull request
…u,Kobzol
stabilize stage management for rustc tools
rust-lang/rust#135990 got out of control due to excessive complexity. This PR aims to achieve the same goal with a simpler approach, likely through multiple smaller PRs. I will keep the other one read-only and open as a reference for future work.
This work stabilizes the staging logic for ToolRustc
programs, so you no longer need to handle build and target compilers separately in steps. Previously, most tools didn't do this correctly, which was causing the compiler to be built twice (e.g., x test cargo --stage 1
would compile the stage 2 compiler before, but now it only compiles the stage 1 compiler).
I also tried to document how we should write ToolRustc
steps as they are quite different and require more attention than other tools.
Next goal is to stabilize how stages are handled for the rustc itself. Currently, x build --stage 1
builds the stage 1 compiler which is fine, but x build compiler --stage 1
builds stage 2 compiler.
for now, r? ghost
BoxyUwU pushed a commit to BoxyUwU/rustc-dev-guide that referenced this pull request
…u,Kobzol
stabilize stage management for rustc tools
rust-lang/rust#135990 got out of control due to excessive complexity. This PR aims to achieve the same goal with a simpler approach, likely through multiple smaller PRs. I will keep the other one read-only and open as a reference for future work.
This work stabilizes the staging logic for ToolRustc
programs, so you no longer need to handle build and target compilers separately in steps. Previously, most tools didn't do this correctly, which was causing the compiler to be built twice (e.g., x test cargo --stage 1
would compile the stage 2 compiler before, but now it only compiles the stage 1 compiler).
I also tried to document how we should write ToolRustc
steps as they are quite different and require more attention than other tools.
Next goal is to stabilize how stages are handled for the rustc itself. Currently, x build --stage 1
builds the stage 1 compiler which is fine, but x build compiler --stage 1
builds stage 2 compiler.
for now, r? ghost