
Maciej Piechotka schrieb:
On Wed, 2010-05-05 at 01:09 +0200, Daniel Fischer wrote:
On Mittwoch 05 Mai 2010 00:55:38, Maciej Piechotka wrote:
I try to configure happstack with parsec 3.1. It seems to fail due to cabal:
happstack-util.cabal says parsec < 3, so --constraint="parsec > 3" and the given dependencies are incompatible, hence it can't be configured.
Probably parsec < 3 was specified because parsec-3.0 was significantly slower than parsec-2.*.
I updated local copy, as shown, but cabal wants to rebuild it anyway. My question was rather why the repo is considered at all when the package is installed.
Surprisingly using plain Cabal (runhaskell Setup configure; runhaskell Setup build; runhaskell Setup install) often works in these cases. Cabal-install is somehow too clever and if it cannot resolve the dependencies it thinks this must be impossible. If it finds a package, that it could not have installed by itself, it tries to install it by itself. First I thought that this due to cabal-install trying to find appropriate flag assignments by itself. However, Duncan Coutts told me that plain Cabal tries this as well. I have no idea, what the key difference between cabal-install and plain Cabal is.