
On Monday 24 October 2011, 01:37:19, Gary Klindt wrote:
Hey Haskellers,
I tried to install happstack. Unfortunately I get the following error:
cabal install happstack
-Resolving dependencies... -cabal: cannot configure deepseq-1.1.0.0. It requires containers >=0.2 && <0.4 -For the dependency on containers >=0.2 && <0.4 there are these packages: -containers-0.2.0.0, containers-0.2.0.1 and containers-0.3.0.0. However none of them are available. -containers-0.2.0.0 was excluded because containers-0.4.1.0 was selected instead -containers-0.2.0.1 was excluded because containers-0.4.1.0 was selected instead -containers-0.3.0.0 was excluded because containers-0.4.1.0 was selected instead
Since ghc-6.12.* cam with containers-0.3.0.0, this means you have installed a newer version of containers. That is generally not a good idea. containers is one of the boot packages, ghc depends on it and thus many of the packages you install will depend on the version that came with ghc. Run $ ghc-pkg check to see whether you already have some broken packages.
I wanted to deselect containers:
ghc-pkg unregister containers-0.4.1.0
-ghc-pkg: unregistering containers-0.4.1.0 would break the following packages: Cabal-1.10.2.0 (use --force to override)
Hm, a bit strange, Cabal's dependencies list only base and filepath on hackage, although it also depends on containers, array, directory... Anyway, your upgraded Cabal was built against containers-0.4.1.0, so it will break without that.
But I did not want to use the force option, because I like cabal, and don't want to break it.
Is it Cabal the library or cabal the executable? If the latter, once it's built, it doesn't need the Cabal version it was built with to be present.
What should I do?
You could try a) installing happstack with a constraint on the containers version to use, $ cabal install --constraint="containers < 0.4" happstack If nothing but Cabal on your system depends on containers-0.4.1.0 yet, that would probably work, but that would leave your installation open to breakage due to conflicting containers dependencies. b) installing happstack with a later deepseq, $ cabal install --constraint="deepseq > 1.1.0.0" c) unregister Cabal-1.10.2.0, then containers-0.4.1.0, then reinstall Cabal-1.10.2 (--dry-run first, to check whether that would want to reinstall a new containers) [but you could also decide to use the Cabal-1.8.* that came with your ghc].
ghc --version
-6.12.1
Greets Gary