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 |