Rebuilding profiled stage2 after building stage3 is broken
The following appears to break,
$ cat <<EOF >mk/build.mk
BuildFlavour = prof
ifneq "$(BuildFlavour)" ""
include mk/flavours/$(BuildFlavour).mk
endif
EOF
$ make stage=2
$ make stage=3
$ touch compiler/stage2/build/Simplify.*
$ make stage=2
...
ghc/GHCi/UI/Info.hs:43:1: error:
Could not find module ‘TcHsSyn’
Perhaps you haven't installed the profiling libraries for package ‘ghc-8.3’?
Locations searched:
ghc/./TcHsSyn.p_hi
ghc/./TcHsSyn.p_hi-boot
ghc/stage2/build/TcHsSyn.p_hi
ghc/stage2/build/TcHsSyn.p_hi-boot
ghc/stage2/build/ghc/autogen/TcHsSyn.p_hi
ghc/stage2/build/ghc/autogen/TcHsSyn.p_hi-boot
/mnt/work/ghc/ghc/compiler/stage3/build/TcHsSyn.p_hi
|
43 | import TcHsSyn
| ^^^^^^^^^^^^^^^^^^^^^^^^
The problem appears to be that the build system registers the stage3 ghc
, which we didn't build in the profiled way, overwriting the stage2 registration. Hopefully Hadrian will do better here.
Trac metadata
Trac field | Value |
---|---|
Version | 8.2.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Build System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |