Building GHC is fun…

Posted in: Haskell

So, I rewrote my blog softare in Haskell, for kicks. I’ve finally finished, after a long time developing, trying out different ideas, learning Haskell etc.

I had already confirmed that I could build a binary for my target machine. That was a long process, which involved installing GHC 6.4 from binaries, and using that to build GHC 6.8.3. I have to build from source because of bug #2211.

However, in the process of developing, things have moved on, and it was much easier to develop with GHC 6.10 and newer libraries than the 6.8.* series. Which means that I now need GHC 6.10.* on the VM that I’m using to build binaries.

I tried 6.10.4, but due to bug #3179, I found I had to downgrade to 6.10.1.

Trying to build that, however, produced bug #3639 — it won’t build with GHC 6.10.4. I switched to using GHC 6.8.3 install to try to build it, but it still isn’t happy:

Configuring ghc-6.10.1...
cabal-bin: At least the following dependencies are missing:
Cabal -any,
base <3,
filepath >=1 && <1.2,
haskell98 -any,
hpc -any,
template-haskell -any,
unix -any
make[2]: *** [boot.stage.2] Error 1
make[2]: Leaving directory `/home/build/build/ghc-6.10.1/compiler'
make[1]: *** [stage2] Error 2
make[1]: Leaving directory `/home/build/build/ghc-6.10.1'
make: *** [bootstrap2] Error 2

Now, GHC 6.8.3 comes with base =, which might be the problem here. If that’s right, then you can’t build GHC 6.10.1 with 6.8.3. So, it sounds like I’m going to have to build GHC 6.6.1 in order to build 6.10.1.

This seems pretty crazy! It wouldn’t be so bad if GHC was quick to build, but every build takes many hours.

Anyway, here goes, wish me luck!

Comments §

blog comments powered by Disqus