[GHC] #12653: reexported-modules sometimes gets mangled, causes problems for bootstrap
GHC
ghc-devs at haskell.org
Sun Oct 2 10:07:15 UTC 2016
#12653: reexported-modules sometimes gets mangled, causes problems for bootstrap
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: highest | Milestone: 8.0.2
Component: Compiler | Version: 8.0.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
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:
1. 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
2. Stop using reexports in ghc-boot; they're not being used for any good
reason and will help avoid the bug.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12653>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list