Ticket #705 (new defect)
Non-deterministic behaviour when overlapping packages are installed
| Reported by: | guest | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | cabal-install-0.16 |
| Component: | cabal-install tool | Version: | 1.8.0.2 |
| Severity: | normal | Keywords: | |
| Cc: | yairchu@…, haskell.org@… | Difficulty: | unknown |
| GHC Version: | Platform: |
Description
See http://stackoverflow.com/questions/3119782/mysterious-cabal-install-problems.
This user took a standard Haskell Platform install, installed a new version of the time package, and then installed random. The random package was rebuilt and installed against the new time package. However, re-running cabal install random installs random again; it doesn't reach a fixed point.
The problem (I presume) is that when cabal-install merges the package databases it chooses which random-1.0.0.2 to use non-deterministically. In fact it seems to depend on the exact package Ids, because I get different results with GHC 6.12.2 where the package Ids of the two random-1.0.0.2 packages are ordered differently.
I realise there are larger issues about how to do resolution here, but I think at least we should make cabal-install deterministic, and preferably idempotent.
