Failure compiling ghc-mtl with ghc-7.8.{2,3}

Edward Z. Yang ezyang at mit.edu
Sun Jul 20 18:36:26 UTC 2014


It looks like you will have to install old versions of mtl/exceptions
which work on transformers-0.3.0.0, although undoubtedly the real
problem is that GHC should update what version of transformers it
is distributing.

Edawrd

Excerpts from i hamsa's message of 2014-07-20 19:25:36 +0100:
> I think I found the problem.
> 
> package ghc-7.8.3 requires transformers-0.3.0.0
> package mtl-2.2.1 requires transformers-0.4.1.0
> package exceptions-0.6.1 requires transformers-0.4.1.0
> 
> I wonder how is this ever supposed to work :(
> 
> On Sun, Jul 20, 2014 at 9:01 PM, Edward Z. Yang <ezyang at mit.edu> wrote:
> > The last time I saw this error, it was because the package database
> > was messed up (there was an instance of MonadIO in scope, but it
> > was for the wrong package.)  However, I don't know what the source
> > of the problem is here.
> >
> > Edward
> >
> > Excerpts from i hamsa's message of 2014-07-20 08:26:52 +0100:
> >> I was trying to upgrade to ghc-7.8 the other day, and got this
> >> compilation failure when building ghc-mtl-1.2.1.0 (see the end of the
> >> message).
> >>
> >> I'm using the haskell overlay on Gentoo Linux straight out of the box,
> >> no local cabal installations of anything.
> >>
> >> Now I was told that other people can compile ghc-mtl with 7.8 just
> >> fine, so there must be something broken in my specific configuration.
> >> What would be an effective way to approach the situation?
> >>
> >> In the sources I see that an instance of MonadIO GHC.Ghc does exist. I
> >> don't understand these errors. Are there multiple different MonadIO
> >> classes in different modules?
> >>
> >> Thank you and happy hacking.
> >>
> >> Now the errors:
> >>
> >> Control/Monad/Ghc.hs:42:15:
> >>     No instance for (GHC.MonadIO Ghc)
> >>       arising from the 'deriving' clause of a data type declaration
> >>     Possible fix:
> >>       use a standalone 'deriving instance' declaration,
> >>         so you can specify the instance context yourself
> >>     When deriving the instance for (GHC.ExceptionMonad Ghc)
> >>
> >> Control/Monad/Ghc.hs:46:15:
> >>     No instance for (MonadIO GHC.Ghc)
> >>       arising from the 'deriving' clause of a data type declaration
> >>     Possible fix:
> >>       use a standalone 'deriving instance' declaration,
> >>         so you can specify the instance context yourself
> >>     When deriving the instance for (MonadIO Ghc)
> >>
> >> Control/Monad/Ghc.hs:49:15:
> >>     No instance for (GHC.MonadIO Ghc)
> >>       arising from the 'deriving' clause of a data type declaration
> >>     Possible fix:
> >>       use a standalone 'deriving instance' declaration,
> >>         so you can specify the instance context yourself
> >>     When deriving the instance for (GHC.GhcMonad Ghc)
> >>
> 


More information about the Glasgow-haskell-users mailing list