wiki:Attic/X86OSXGhc

Version 13 (modified by guest, 8 years ago) (diff)

--

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 http://darcs.haskell.org/ghc
cd ghc
chmod +x ./darcs-all
./darcs-all get --partial
autoreconf
./configure
darcs unpull --patch "Fix Array imports"  # answer yes
# edit file mk/config.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.

Make certain you have the GMP.framework for Darwin Intel installed. It can be downloaded as part of the Darcs Intel .dmg file at http://glozer.net/darcs/ .


AudreyTang? has contributed an updated GHC CVS build: http://pugs.blogs.com/dist/ghc-6.5.20060608.tar.bz2

  • 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 http://perlcabal.org/~audreyt/tmp/ghc-6.5.20060526-i686-apple-darwin8.tar.bz2

This GHC CVS build seems to work quite well: http://www.uni-graz.at/imawww/haskell/ghc-6.5.20060409-i386-apple-darwin.tar.bz2 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 Makefile.in 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