Question

I'm on OSX 10.6 and I have platform 2010.2.0.0 currently. Should I just install 2011.2.0.1 on top or is there an update mechanism that will be smoother?

Was it helpful?

Solution

I've definitely had bumpy upgrade experiences with the Haskell Platform. If you have enough trouble that you just want to wipe the thing and start fresh (you wouldn't be the first!), take a look here:

Everywhere that GHC/Haskell Platform installs

OTHER TIPS

As far as I know there is no update mechanism. And I have never had any trouble with just installing one platform version on top of the other on OSX.

I come from the future (06/2013) and I just had to nuke my entire installation of the haskell platform in order to successfully install a newer. So... there's still no smooth way of upgrading. (At least in OS X)

Whether you need to nuke the existing platform depends on where cabal is configured to install packages.

On Mac OS X, the supplied cabal-install is modified to create a config which separates packages by GHC version. If that's the config you used, you can just install the Haskell Platform on top of the old one.

install-dirs user
  prefix: /Users/pgiarrusso/Library/Haskell/$compiler/lib/$pkgid
-- [...]
install-dirs global
  prefix: /Library/Haskell/$compiler/lib/$pkgid

Installation-specific binaries, like the ones from gtk2hs-buildtools, are only separated with a configuration like the above. As far as I can tell, at least the actual package register (in ~/.ghc/$GHC_VERSION, used by ghc-pkg and cabal) is instead always per-GHC-version. The config generated by a vanilla cabal-install (from Hackage) does not take such precautions.

install-dirs user
  -- prefix: /Users/pgiarrusso/.cabal
[...]
install-dirs global
  -- prefix: /usr/local

If you have such a config, I expect you're going to get trouble unless you remove at least the data in ~/.cabal, and also the binaries in /usr/local from the old Haskell Platform — but don't nuke the whole directory, since /usr/local is often used for installing other software!

The default config is only generated when no config exists, so to update the config you need to move away the existing one.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top