I've found --avoid-reinstalls
makes packages build where otherwise cabal fails. What exactly is it doing? Doesn't cabal already try to avoid reinstalls, or shouldn't it?
This mailinglist post explains it pretty well: http://www.haskell.org/pipermail/beginners/2011-June/007502.html
The dependency resolution algorithm will try to make a consistent install plan that allows gitit to be run. However, in order to achieve that, it may decide that it's necessary to reinstall some existing packages in a new configuration (with other dependency or flag settings). Such reinstalls will then overwrite the previous package in the store, and if that previous package was depended on by something else, these other things will break.
The --avoid-reinstalls flag prevents exactly this behavior.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With