[Haskell-cafe] A new cabal odissey: cabal-1.8 breaking its own
neck by updating its dependencies
p.giarrusso at gmail.com
Sat Sep 11 19:26:11 EDT 2010
A further pitfall I just discovered:
$ cabal install --dry cabal-install leksah-0.8.0.6
cabal: cannot configure cabal-install-0.8.2. It requires Cabal ==1.8.*
For the dependency on Cabal ==1.8.* there are these packages: Cabal-220.127.116.11,
Cabal-18.104.22.168 and Cabal-22.214.171.124. However none of them are available.
Cabal-126.96.36.199 was excluded because Cabal-188.8.131.52 was selected instead
Cabal-184.108.40.206 was excluded because ghc-6.10.4 requires Cabal ==220.127.116.11
Cabal-18.104.22.168 was excluded because Cabal-22.214.171.124 was selected instead
Cabal-126.96.36.199 was excluded because ghc-6.10.4 requires Cabal ==188.8.131.52
Cabal-184.108.40.206 was excluded because Cabal-220.127.116.11 was selected instead
Cabal-18.104.22.168 was excluded because ghc-6.10.4 requires Cabal ==22.214.171.124
That's on ghc-6.10.4 with Cabal-126.96.36.199.
However, trying to install cabal-install and leksah separately works quite well.
Indeed, they are already installed, but since they are not tracked by
ghc-pkg, cabal forgot that it installed them, and keeps forgetting
that (as I just discovered).
I believe the pitfall is that since cabal is trying to install both
packages at once, it is trying to figure out dependencies for them
together. The behavior might even be perfectly valid if there are
interdependencies between the two packages, but that's not the case
here; maybe cabal should not try to detect that the packages are not
related and can be installed separately. Or maybe, it should just
allow using two different versions of the same package, for packages
which are not linked together.
Paolo Giarrusso - Ph.D. Student
More information about the Haskell-Cafe