cabal install cabal-install with the latest HP on Mac OS X

I installed the 64-bit version of the recent Haskell Platform release on Mac OS X 10.6.6. $ cabal --version cabal-install version 0.10.2 using version 1.10.1.0 of the Cabal library As always in the past, and as cabal install itself has often suggested, the first thing I did was to run 'cabal install cabal-install' to make sure I have the latest version. To my surprise, cabal install began installing an *older* version of itself, together with older versions of dependent libraries to support that. I didn't really mind, because I could always just remove the symlink to the older-versioned cabal executable when it finished, so I let it run its course to avoid leaving a mess by aborting. However, after a while, the installation process failed with the message: Downloading time-1.1.4... <command line>: cannot satisfy -package Cabal-1.10.1.0: Cabal-1.10.1.0-6289829715de7a109def1f0c286a5dc4 is unusable due to missing or recursive dependencies: process-1.0.1.5-3e412eee765d141be15796c32f22f7a3 Note that process-1.0.1.5 and Cabal-1.10.1.0 are already installed globally as part of the platform. Another copy of process-1.0.1.5 had been installed in userland during this problematic run. Cabal-1.8.0.6 was also installed in userland. Why did cabal try to downgrade itself to an older version, and why did it get so confused while trying to do so? Thanks, Yitz

On 15 March 2011 08:24, Yitzchak Gale
I installed the 64-bit version of the recent Haskell Platform release on Mac OS X 10.6.6.
$ cabal --version cabal-install version 0.10.2 using version 1.10.1.0 of the Cabal library
As always in the past, and as cabal install itself has often suggested, the first thing I did was to run 'cabal install cabal-install' to make sure I have the latest version.
To my surprise, cabal install began installing an *older* version of itself, together with older versions of dependent libraries to support that.
This is because the "default" version of cabal-install on hackage remains at 0.8.x. As soon as I bump this to 0.10.x then all existing users will get prompted to upgrade. I'd like a bit of confidence that this will not break everyone's existing setup, so I've not done it yet.
Downloading time-1.1.4... <command line>: cannot satisfy -package Cabal-1.10.1.0: Cabal-1.10.1.0-6289829715de7a109def1f0c286a5dc4 is unusable due to missing or recursive dependencies: process-1.0.1.5-3e412eee765d141be15796c32f22f7a3
This is part of the problem that cabal does not understand that there can be two instances of the same version of a package registered at once. We will shortly be working on a new solver that does understand this. Duncan

Is this ticket related? This person was also running cabal install cabal-install, thus downgrading: http://trac.haskell.org/haskell-platform/ticket/164 I wrote:
I installed the 64-bit version of the recent Haskell Platform release on Mac OS X 10.6.6. ...the first thing I did was to run 'cabal install cabal-install' To my surprise, cabal install began installing an *older* version of itself...
Duncan Coutts wrote:
This is because the "default" version of cabal-install on hackage remains at 0.8.x. As soon as I bump this to 0.10.x then all existing users will get prompted to upgrade. I'd like a bit of confidence that this will not break everyone's existing setup, so I've not done it yet.
Downloading time-1.1.4... <command line>: cannot satisfy -package Cabal-1.10.1.0: Cabal-1.10.1.0-6289829715de7a109def1f0c286a5dc4 is unusable due to missing or recursive dependencies: process-1.0.1.5-3e412eee765d141be15796c32f22f7a3
This is part of the problem that cabal does not understand that there can be two instances of the same version of a package registered at once. We will shortly be working on a new solver that does understand this.
Thanks! -Yitz

To my surprise, cabal install began installing an *older* version of itself, together with older versions of dependent libraries to support that.
This is because the "default" version of cabal-install on hackage remains at 0.8.x. As soon as I bump this to 0.10.x then all existing users will get prompted to upgrade. I'd like a bit of confidence that this will not break everyone's existing setup, so I've not done it yet. .. This is part of the problem that cabal does not understand that there can be two instances of the same version of a package registered at once. We will shortly be working on a new solver that does understand this.
Others, myself included, have been running into similar problems with "cabal install cabal-install" wrecking their installed core libs. I was surprised that "install" would do that. Handling of multiple installed package instances will be a more general solution, but it would be good to know the timeline for that feature. If it isn't imminent, then I would recommend a short-term safety line: 1. cabal figures out which packages are core ghc dependencies 2. cabal never touches those packages (unless someone reenables upgrade, and uses the --force and --yes-really-shoot-myself- in-the-knee options;-) Claus http://hackage.haskell.org/trac/ghc/ticket/4510#comment:4
participants (3)
-
Claus Reinke
-
Duncan Coutts
-
Yitzchak Gale