You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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
Activity
jyn514 commentedon Apr 19, 2022
Thanks for catching this. The issue is that
src/llvm-project/llvmdoesn't exist if thellvm-projectsubmodule isn't checked out locally. As a workaround, you can rungit submodule update --init src/llvm-project.I am not quite sure the right fix - I guess I could check in
Llvm::should_runwhether 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_pathfunction that calls eitherpathoraliasdepending 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
klensy commentedon Apr 19, 2022
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)
Remove assertion that all paths in `ShouldRun` exist
Rollup merge of rust-lang#96196 - jyn514:no-assertion, r=Mark-Simulacrum
jyn514 commentedon Feb 3, 2023
Fixed in #96196
Rollup merge of rust-lang#109848 - ozkanonur:fix-96188, r=albertlarsan68
Auto merge of rust-lang#109966 - JohnTitor:rollup-eoqjr5j, r=JohnTitor