reexported-modules sometimes gets mangled, causes problems for bootstrap
There is a pretty bad bug in Cabal 1.24's support for reexported modules (https://github.com/haskell/cabal/pull/3906) which means that, under some circumstances, Cabal library will output reexported-modules
in a form that ghc-pkg will misinterpret. The particular instance I've seen is GHC's build system incorrectly concluding that GHC.Lexeme is provided by ghc-boot rather than ghc-boot-th (because the reexport wasn't parsed correctly).
It does not actually seem possible to work around this given a GHC 8.0.1 bootstrap, because we need to register ghc-boot using the bootstrapping ghc-pkg, which will output the package configuration in mangled form. So my advice is:
- Fix this bug for GHC 8.0.2, so that at least 8.0.2 bootstrap will work even if we have reexported modules in the bootstrap libraries
- Stop using reexports in ghc-boot; they're not being used for any good reason and will help avoid the bug.
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | highest |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |