On 13 January 2015 at 13:59, Johan Tibell <johan.tibell@gmail.com> wrote:
I wonder if you have a cached Setup.hs somewhere under ~/.cabal that's out of date (i.e. uses and older Cabal). You can try -v2 or -v3 to get some more information. In particular look for mentions of older Cabal versions.

This is probably it. With -v3 I see the following in the output.

Using Cabal library version 1.20.0.0
Found cached setup executable:
$HOME/.cabal/setup-exe-cache/setup-Simple-Cabal-1.20.0.0-x86_64-osx-ghc-7.6.3
$HOME/.cabal/setup-exe-cache/setup-Simple-Cabal-1.20.0.0-x86_64-osx-ghc-7.6.3

Then I rm -rf $HOME/.cabal/setup-exe-cache, but this doesn't seem to help. 

Using Cabal library version 1.20.0.0
Setup executable not found in the cache.
Setup executable needs to be updated, compiling...

So it compiles the Setup executable using Cabal-1.20.0.0 again.

And now I know why this happens. I had compiled cabal-install using ghc-7.8.3 before. So 7.6.3 doesn't even have Cabal-1.22.0.0 available to it. Compiling cabal-install with ghc-7.6.3 seems to have solved that problem.

This is getting a little bit out of hand though, especially for automation. Now I need to figure out what to do for our continuous integration machines so the latest version of cabal-install is useable for multiple ghc versions. In general, should we be compiling cabal-install with each ghc installation separately? Or maybe just the Cabal library?

Thanks,

--
Ozgur Akgun