A quick note for anybody who finds it: I’ve been trying to build Ben Lippmeier’s Disciplined Disciple Compiler (DDC), a dialect of Haskell, and had little success until I figured out a way of doing it.
I had a problem building it on both Ubuntu 11.04 and 11.10. I followed the instructions here: Building DDC. Not wanting to build Haskell or a significant number of libraries from source or install using Cabal, I used apt-get to install all that I could:
$ sudo apt-get install ghc6 alex libghc6-mtl-* libghc6-parsec3-* libghc6-regex-* libghc6-quickcheck2-* \ libghc6-haskell-src-* x11proto-xext-dev libx11-dev libxv-dev
But as it says there, you still need to use Cabal to install
$ sudo apt-get install cabal-install $ cabal update $ cabal install text -p
So far, so good.
$ cabal install buildbox -p Resolving dependencies... cabal: cannot configure buildbox-188.8.131.52. It requires base ==4.4.* For the dependency on base ==4.4.* there are these packages: base-184.108.40.206 and base-220.127.116.11. However none of them are available. base-18.104.22.168 was excluded because of the top level dependency base -any base-22.214.171.124 was excluded because of the top level dependency base -any
WTF? So it turns out what this error is trying to tell you is that buildbox-126.96.36.199 requires version 4.4 of the package
base, which is the main GHC library. I don’t know why the versions of the
base package don’t match the versions of GHC, but they don’t. Ubuntu 11.04 and 11.10 include GHC versions 6.12.3 and 7.0.3, respectively. I don’t know what version of
base comes with 11.04, but 11.10 includes
base version 188.8.131.52 (try “
cabal info base“) — too old for
buildbox. And Cabal refuses to install a newer version of
The solution? Just install an older version of
buildbox (you can see them with “
cabal info buildbox“). For me, this is:
$ cabal install buildbox-184.108.40.206 -p
Presumably, Ubuntu 12.04 will include a sufficiently new version of GHC that this won’t be a problem (Edit: at the time of writing, the latest version of GHC is 7.2.1). But of course, it could happen again in the future, because that’s what happens when package managers get into fights.