Detrimental c2hs / "other-modules" interaction

Michael Stone mstone at
Fri May 4 00:47:35 EDT 2007

Dear Cabal Developers,

First, thanks for the excellent work so far.

Second, I thought I'd report a frustrating experience I had on my first
attempt to package a library.

I'm currently extracting a Cairo binding from Gtk2hs because I want to
use Cairo on a server that doesn't have X or GTK readily available.

As I went about adapting Gtk2hs' binding, I ran into the following

1) Cabal does not clean up after c2hs - in particular, it does
not delete the temporary .chi and .chs.h files that c2hs produces for
each file it processes.

2) Cabal does not do dependence analysis. Consequently, the
"other-modules" field of my cairo.cabal is order-sensitive.

Together, these mean that after I manually delete those temporary files,
my build fails mysteriously because the dependencies are not being
resolved in an order that c2hs can work with. This in turn makes it
non-trivial to make reliable builds.

Please let me know if you'd like any further information. 


Michael Stone

More information about the cabal-devel mailing list