
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.)