Version 12 (modified by eivuokko, 9 years ago) (diff)

build instructions for current ghc head

This page is meant to document the current state of GHC on Apple Mac OS X on Intel x86 hardware.

DarwinPorts still has GHC as not supported on x86.


At the time of writing (2006-08-20), darcs ghc won't build out of the box using the build 20060608. Here's steps to do it:

darcs get --partial
cd ghc
chmod +x ./darcs-all
./darcs-all get --partial
darcs unpull --patch "Fix Array imports"  # answer yes
# edit file mk/
# on line 790, change variable's value to
# GhcMinVersion = 4
# that causes normal bootstrap
make -j3   # Add GhcBootLibs=YES if you don't want all the libs, -j3 is cool if you got core duo
# compiles stage1 and libs
# it should stop on stage2, compiler/Digraph.lhs
darcs pull -a  # patch "Fix Array imports"
make -j3 stage=2 # Add GhcBootLibs=YES if you don't want all the libs
# be happy

If you use build after 20060814 or so, you shouldn't need to unpull and pull the patch.

AudreyTang has contributed an updated GHC CVS build:

  • This build has a post-install script that fixes readline, installs GMP.framework, and runs "ranlib" for you, so there's no manual tweaking involved anymore.
  • Also note that this build does not have Data.ByteString and Data.ByteString.Char8 as part of the "base" package, because they are not compatible with the same-named modules from the latest fps package, which is going to be merged to GHC real soon now.
  • An earlier build is available at

This GHC CVS build seems to work quite well: Some issues:

  • You need to manually install GMP.framework in /Library/Frameworks, and libreadline.dylib (and the libreadline*.dylib symlinks, I guess) in /usr/local/lib (assuming prefix=/usr/local).
  • When using runghc to build some cabal packages (e.g. xhtml), the setup program dies silently after building the archive, but before writing the .installed-pkg-config file. If the setup program is compiled with ghc, this does not happen.
  • When using "./configure --prefix=/usr/local; make install", GHC gets installed in /usr/local/lib/-6.5/.

The for the release above is broken in a few ways, which causes the /-6.5/ weirdness The problems are:

  • package is not set. Be sure that the package name does not end in a space
  • the invocation of mkdirhier (INSTALL_DIR) is broken for libraries & share (lines 205 & 206) , the first $$0 is in error
  • the library files are installed using cp, but should be installed using 'install -p' to preserve the timestamps