andrewcoppin at btinternet.com
Fri Nov 19 15:20:23 EST 2010
The other day, I did a slightly foolish thing. I uttered the command
cabal install gitit
Actually, while I was "foolish", it actually worked better than you'd
think. It wanted to install several thousand billion packages, but all
of them compiled without issue.
Well, all except one. You see, for reasons that I have yet to determine,
cabal is *convinced* that gitit transitively requires the "unix"
package. Astonishingly, this doesn't work on Windows. :-P
Question: Why does 90% of the network-related stuff on Hackage require
the unix package? What's in there that's so network-related? I don't
understand. We've *got* a portable "network" package that works on all
Anyway, on further investigation, it appears that the culprit is
"cautious-file". If a certain CPP flag it set, "unix" gets added to the
Build-Depends: field. Except... I didn't set any CPP flags! What the hell?
So I manually edit the package description (!), and now it builds and
installs perfectly happily. So now I tell cabal to install gitit
again... and it immediately tries to install unix, even though the only
package that (it thinks) requires unix is already installed? Wuh?
So I unpack gitit and tell cabal to build it. Building takes about 30
seconds. *Linking* takes about 4 minutes (??!) And then it fails due to
some missing symbols. (No, I don't remember off the top of my head what
At this point, I am completely lost. Does anybody have any ideas on how
I can make GitIt work, short of installing Linux? I've searched and
searched and I can't see a pre-built binary anywhere.
More information about the Haskell-Cafe