problems building base package with --make; wired in things are assumed to not be in current package
|Reported by:||igloo||Owned by:||simonpj|
|Type of failure:||Test Case:|
|Related Tickets:||Differential Revisions:|
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.