ANNOUNCE: GHC 7.0.1 Release Candidate 1
Evan Laforge
qdunkan at gmail.com
Mon Sep 27 14:55:51 EDT 2010
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.
More information about the Glasgow-haskell-users
mailing list