problems building base package with --make; wired in things are assumed to not be in current package
GHC currently assumes that wired in things are not in the current package. This causes problems when the base package is partially compiled (in particular, GHC.Base is built already) and you try to build the whole thing with --make. Each time it needs something from GHC.Base, GHC looks to see if it has been loaded from another package yet and, upon finding it hasn't, loads it from the current package. This results in it loading it multiple times, giving errors like:
GHC/Foo.hs:6:6:
Overlapping instances for Eq Bool
arising from use of `==' at GHC/Foo.hs:6:6-17
Matching instances:
instance Eq Bool -- Defined in GHC.Base
instance Eq Bool -- Defined in GHC.Base
instance Eq Bool -- Defined in GHC.Base
In the expression: True == True
In the definition of `foo': foo = True == True
This is now tested by base01 in the testsuite.
Trac metadata
Trac field | Value |
---|---|
Version | 6.4.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Multiple |
Architecture | Multiple |