On Wed, Jul 18, 2012 at 10:19 AM, Ross Paterson <ross@soi....> wrote:
> On Wed, Jul 18, 2012 at 06:50:31AM +0100, Andres Löh wrote:
>> Using --avoid-reinstalls blindly or as a default flag is also
>> unfortunately not a good idea in general. There are simply too many
>> cases where installing older versions of packages (which is often the
>> only thing that helps) is not really the solution you want. That's
>> also the reason why it's not enabled by default.
> I need a combination of flags that I can use blindly with the greatest
> chance of success. The default doesn't work on packages like this one:
> % cabal --version
> cabal-install version 0.14.0
> using version 1.14.0 of the Cabal library
> % cabal install sbv-2.2
> Resolving dependencies...
> In order, the following would be installed:
> HUnit-184.108.40.206 (new package)
> containers-0.5.0.0 (new version)
> random-220.127.116.11 (new package)
> strict-concurrency-0.2.4.1 (new package)
> syb-0.3.7 (new package)
> template-haskell-18.104.22.168 (reinstall) changes: containers-0.4.2.1 -> 0.5.0.0
> QuickCheck-2.5 (new package)
> transformers-0.3.0.0 (new package)
> mtl-2.1.2 (new package)
> sbv-2.2 (new package)
> cabal: The following packages are likely to be broken by the reinstalls:
> Use --force-reinstalls if you want to install anyway.
I don't think you can install this package on 7.4. As Andres said, it
requires containers 0.5, but ghc 7.4's base libraries (in this case,
template-haskell) use containers 0.4, and can't be reinstalled. I
guess your best bet is to use sbv-2.1, which depends on containers >=
0.3, or to unpack it and see if you can loosen the containers
dependency and see if it still works with 0.4
So in short, no combination of flags will work in this case, I think.
Failure is the best option.