
There are some issues with the .pkg installer under OS X: Installing 7 deleted 6.12.3, but left 6.12.1. Actually, the 612/usr/bin/ghc-6.12.3 binaries are missing, but 612/usr/lib/ghc-6.12.3 is still there. Installing 7 also breaks all the symlinks to previous versions of ghc, because they use Current, which 7 rebinds. Re-installing 6.12.3 deletes 7, in that it deletes the entire 700 directory! After reinstalling 6.12.3, it can no longer find my packages, until I run 'ghc-pkg recache'. Whew! So I think there are a few problems. One is that perhaps the 7 installer thinks it's still 6.12.3, so it deletes 6.12.3 to "overwrite" it? Likewise, the 6.12.3 installer deletes 7 maybe for the same reason? Installers shouldn't be deleting the old version! Unless I manually squirrel the 6.12.3 data and restore it after 7 is installed, I can't have both installed simultaneously, which makes it hard to test 7 while still being able to work in 6. The other is that ghc install on OS X has two places with the version: /Library/Frameworks/GHC.framework/Versions/{612,700}/usr/bin/ghc-{6.12.n,7} While confusing, this is fine, I suppose, but since the symlinks in /usr/bin all point through Current, and Current is a symlink updated to point to whichever version was just installed, installing a new version will break all the links to the old versions. I think the solution for this is to have /usr/bin/ghc-a.b.c point to .../GHC.framework/Versions/abc/... instead of ../GHC.framework/Versions/Current/... It's too late for the old installers of course, but maybe this can be fixed for 7? I feel like the ghc OS X installer has been deleting old versions but leaving misleading broken symlinks to them around for a while, since I have a set of broken links in my /usr/bin.