
On Wed, 2009-02-25 at 10:58 +0000, Neil Mitchell wrote:
Hi Duncan,
i.e. cabal accepts the --builddir command, but the setup that cabal builds doesn't. Why?
Hmm. Does your ghc-6.8 have Cabal-1.6.0.2 registered? If you built Cabal-1.6.0.2 and cabal-install with ghc-6.10 but not also for 6.8 then cabal-install will be forced to pick an older Cabal lib when compiling Setup scripts for 6.8.
Cabal-1.6.0.2 is registered and built with ghc-6.8.3 - I installed it with Cabal seconds before running this example.
Did you see from the -v3 output what version it was actually using? If you compile Setup.hs manually using -package Cabal-1.6.0.2 does the --builddir= flag work? It should do.
My cabal.exe comes from the hackage website, the binary you put up some time ago. I guess that is probably the issue.
What version is that then? I'm interested because we've not actually worked out why the problem was occurring.
Really of course we should notice this earlier and complain that we cannot use this new feature while using the older lib version. We should file a ticket about that. In fact the whole issue with what the Setup command line must accept is a tricky issue when it comes to working with custom build systems.
Meh. Custom build scripts are brittle and evil - in my particular case the custom build script was trivial so adding build-type:Simple fixes everything. However, I'd like to know (before I push a change) that build-type:Simple will work out the box with the Cabal that got installed with ghc-6.8.3.
It will.
So that means figuring out what Cabal ghc-6.8.3 shipped with,
1.2.3.0
and which Cabal can cope with build-type:Simple - is there any way to figure that out in general, and what is the answer in this specific case?
If you're lucky, "cabal check" will tell you that you're using features but not specifying a high enough cabal-version: >=x.y value. Otherwise you can consult old versions of the user guide or the source. Duncan