On Fri, Jun 17, 2011 at 2:05 AM, Henning Thielemann <lemming@henning-thielemann.de> wrote:

On Fri, 17 Jun 2011, Dmitri O.Kondratiev wrote:

How to make cabal install all the dependencies? I couldn't find this in the docs at:
http://www.haskell.org/haskellwiki/Cabal-Install

Usually, 'cabal install' automatically installs all imported packages. But it will certainly not do, if a dependency problem cannot be solved by downloading packages. In your case it may be, that installed packages are compiled with respect to different versions of the same package, say 'transformers'.

I found out, that you get more useful cabal messages if you force cabal-install to use a specific version of a package.

Say, run
$ ghc-pkg list transformers

transformers-0.2.2.0

Then call
$ cabal install spreadsheet --constraint=transformers==0.2.2.0

What does 'cabal' tell you?

ghc-pkg list transformers
/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3/package.conf.d:

/Users/user/.ghc/i386-darwin-6.12.3/package.conf.d:
    transformers-0.2.2.0

cabal install spreadsheet --constraint=transformers==0.2.2.0
Resolving dependencies...
cabal: cannot configure spreadsheet-0.1. It requires transformers ==0.0.*
For the dependency on transformers ==0.0.* there are these packages:
transformers-0.0.0.0 and transformers-0.0.1.0. However none of them are
available.
transformers-0.0.0.0 was excluded because of the top level dependency
transformers ==0.2.2.0
transformers-0.0.1.0 was excluded because of the top level dependency
transformers ==0.2.2.0

Compilation exited abnormally with code 1 at Fri Jun 17 02:12:30