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