[Haskell-cafe] help with cabal; trying to escape from configuration hell

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Wed Sep 23 13:22:13 EDT 2009


On Tue, 2009-09-22 at 17:13 +0200, S. Doaitse Swierstra wrote:
> I am trying to run happstack on my Mac, but unfortunately I am getting  
> error messages as described in:
> 
> http://code.google.com/p/happstack/issues/detail?id=88
> 
> The cure seems to be to downgrade to network-2.2.0.1, but  
> unfortunately my installed cabal depends on network-2.2.1.4.
> 
> I tried to re-install happstack using:
> 
> cabal install happstack --reinstall --constraint="network==2.2.0.2"
> 
> but unfortunately the ghc happily reports to link against  
> network-2.2.1.4:
> 
> ...
> Loading package parsec-2.1.0.1 ... linking ... done.
> Loading package hsemail-1.3 ... linking ... done.
> Loading package network-2.2.1.4 ... linking ... done.
> Loading package SMTPClient-1.0.1 ... linking ... done.
> Loading package time-1.1.4 ... linking ... done.
> ...
> 
> Can someone rescue me?

Is that log output from when you are compiling happstack itself (and
that snippet is the template haskell code being loaded) or is it when
you are loading the final built package in ghci?

If it's the TH bit then it appears to be an instance of this bug:

http://hackage.haskell.org/trac/ghc/ticket/2555

The problem appears to be that while we compile happstack against
network-2.2.0.2, when it comes to the template haskell stuff, it goes
and picks up the latest version of network instead. GHC HQ have not been
able to reproduce this so it would be useful if we could have more
details on what you are finding. In particular a full log of this
command would be useful:

$ cabal install happstack -v --reinstall --constraint="network==2.2.0.2"

Note the -v so that we will see how cabal invokes ghc. Attach the log to
the ghc ticket above.

Once you've saved the evidence, the workaround is to unregister the
later network version, then ghc cannot possibly pick it.

Duncan



More information about the Haskell-Cafe mailing list