Skip to content

rustc build broken after #95906 #96188

Closed
Closed

Description

@klensy

After #95906 (0516711), building rustc (stage0 stdlib) with python x.py --stage=0 b fails with

$ python x.py build --stage=0
Updating only changed submodules
  Submodules updated in 0.02 seconds
Building rustbuild
    Finished dev [unoptimized] target(s) in 0.21s
thread 'main' panicked at '`should_run.paths` should correspond to real on-disk paths - use `alias` if there is no relevant path: src/llvm-project/llvm', src\bootstrap\builder.rs:391:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Build completed unsuccessfully in 0:00:01

The same true for perf runner: https://perf.rust-lang.org/status.html (https://perf.rust-lang.org/compare.html?start=6fd7e9010db6be7605241c39eab7c5078ee2d5bd&end=0516711ab057d9731f55511f00f9d426bc9db724)
cc @jyn514
@rustbot label +A-rustbuild

Activity

  1. added
    T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
    on Apr 18, 2022
  2. jyn514 commented on Apr 19, 2022

    @jyn514
    Member

    Thanks for catching this. The issue is that src/llvm-project/llvm doesn't exist if the llvm-project submodule isn't checked out locally. As a workaround, you can run git submodule update --init src/llvm-project.

    I am not quite sure the right fix - I guess I could check in Llvm::should_run whether the submodule is checked out? But it seems confusing to have the possible paths be different based on your git state ... alternatively, I could revert the hard requirement, but then this will regress in the future.

    I suppose a third alternative is to add a ShouldRun::submodule_path function that calls either path or alias depending on whether the submodule is checked out. But that seems a little overcomplicated.

    cc @Mark-Simulacrum - happy to revert this assertion for now to unbreak things

    @rustbot label +C-bug

  3. klensy commented on Apr 19, 2022

    @klensy
    ContributorAuthor

    As consequence of that, every next perf run missing bootstrap timings.

    P.S. Bootstrap timings in perf run missing, but no indication of error on the page (for example https://perf.rust-lang.org/compare.html?start=8305398d7ae6128811ec2b3223939bcd067530c2&end=311e2683e1bad87715b1558f7900e294d24ce491), except for first time (https://perf.rust-lang.org/compare.html?start=6fd7e9010db6be7605241c39eab7c5078ee2d5bd&end=0516711ab057d9731f55511f00f9d426bc9db724, but there bootstrap time show only partially)

  4. added a commit that references this issue on Apr 20, 2022
  5. jyn514 commented on Feb 3, 2023

    @jyn514
    Member

    Fixed in #96196

  6. added a commit that references this issue on Apr 5, 2023
  7. added a commit that references this issue on Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions