[Haskell-cafe] Best approach to avoid dependency hells
Albert Y. C. Lai
trebla at vex.net
Sat Dec 8 17:32:38 CET 2012
On 12-12-08 07:39 AM, Ivan Perez wrote:
> When you install A, you may not know that you'll need to depend on a
> lower version of bytestring later on. Cabal will pick the highest
> version available (0.10 if present). If a program you install later on
> depends on A (needs bytestring-0.10) and ghc (needs bytestring-0.9),
> you'll have a conflict.
You are saying, before "cabal install A", you already have both
bytestring 0.9.2 and 0.10 installed. This is new data not revealed last
time. And it is important, this is exactly the cause, you have too many
bytestring's installed.
(You cannot be saying, you start without bytestring 0.10, and "cabal
install A" brings in bytestring 0.10. You start with GHC, and since it
depends on bytestring 0.9.2, you start with bytestring 0.9.2 too. And
you don't already have another bytestring. Then "cabal install A" will
stick with bytestring 0.9.2.)
More information about the Haskell-Cafe
mailing list