(Imported from Trac #902, reported by @tibbe on 2011-12-02)
Something is wrong with how test suite dependencies are included in the install plan:
$ git clone https://github.com/tibbe/hashable.git
$ cd hashable
$ cabal install --enable-tests --only-dependencies
Preprocessing library deepseq-188.8.131.52...
[1 of 1] Compiling Control.DeepSeq ( Control/DeepSeq.hs, dist/build/Control/DeepSeq.o )
Installing library in /Users/tibbe/.cabal/lib/deepseq-184.108.40.206/ghc-7.0.4
cabal: At least the following dependencies are missing:
cabal: Error: some packages failed to install:
text-0.11.1.9 failed during the configure step. The exception was:
(Imported comment by @kosmikus on 2011-12-02)
I can see how this is broken at the moment. It has nothing to do with --only-dependencies, as far as I can see.
There's a function in Distribution.Client.Install that enables tests for command-line targets. However, that function only applies to targets of constructor SpecificSourcePackage. Now if you type cabal install in the current directory, the current directory is turned into a SpecificSourcePackage. However, if you type cabal install foo, then `foo' is not. Dependencies aren't usually targets at all.
On the other hand, if you say --enable-tests, then all packages are configured with tests enabled. So the solver sees a situation where most package won't have tests enabled, but the builder will assume they're all enabled.
So it looks like it should go wrong more often than not.
I think this is fixed now. Please open again if there are remaining problems.