#5704: Bug in the handling of wired-in packages (like template-haskell)
---------------------------------+------------------------------------------
Reporter: simonmar | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.4.1
Component: Package system | Version: 7.2.1
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: None/Unknown
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
If you install an older version of a wired-in package (e.g. template-
haskell) and then try to use it, GHC will use the newer one as the "wired-
in" package rather than the older one.
This happened when trying to build `aeson-0.4.0.0` with ghc 7.4: `aeson`
requires `template-haskell-2.6.0.0`, but GHC ships with 2.7.0.0. Cabal
installed `template-haskell-2.6.0.0`, but while building `aeson` against
it we get:
{{{
Data/Aeson/TH.hs:181:1:
Bad interface file: /Users/tibbe/.cabal/lib/template-
haskell-2.6.0.0/ghc-7.4.0.20111213/Language/Haskell/TH.hi
Something is amiss; requested module template-
haskell-2.6.0.0:Language.Haskell.TH differs from name found in the
interface file template-haskell:Language.Haskell.TH
}}}
the bug is that `findWiredInPackage` has picked `template-haskell-2.7.0.0`
to be the wired-in package:
{{{
wired-in package template-haskell mapped to template-
haskell-2.7.0.0-inplace
}}}
whereas we wanted to use `template-haskell-2.6.0.0`.
Not immediately obvious what the fix should be, so I'm making a ticket for
this. The workaround is to update the dependency in `aeson` to allow
`template-haskell-2.7.0.0`.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5704>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs