The source distribution needs an installed GHC 5.X or 6.X to build. If there isn't a binary distribution for your platform (any version), then you'll need to consult the section on Porting GHC in the Building Guide.
The OS-specific packages (eg. RPMs on Linux) are generally a better bet than the vanilla .tar.bz2 binary bundles, because they will check for dependencies and allow the package to be uninstalled at a later date.
However, if you don't have permission to install binaries on your system, or you want to install somewhere other than the default place (usually /usr or /usr/local), then you'll need to use a .tar.bz2 binary bundle.
NOTE: you must use GCC 2.95 on Sparc. There is a known bug with GCC 3.0 and later which causes incorrect code to be generated.
This is a complete build, with profiling libraries and docs.
NOTE: you'll need libreadline.so.4 and libncurses.so.5. You should ensure you have this before you start, since without it GHC won't work at all. Grab the ncurses sources from GNU and build it if you don't have it.
This installer relies on the Windows Installer runtime to operate. If, after having downloaded the above file, double-clicking on the MSI file doesn't start up the installer, the likely cause is that you don't have the Windows Installer runtime installed on your machine. You can download it from Microsoft:
Install the appropriate version, then double-click again on the MSI file.
Note: The original 6.2.1 installer came with a broken version of the profiling run-time system(RTS). If you're plagued by crashes when profiling on Windows platforms, please download a fixed version of the RTS, and replace its libHSrts_p.a with the one that's in your 6.2.1 install tree. You will then have to re-link your profiled applications to incorporate the fixed RTS.
The updated version of the installer includes the fixed profiling RTS.
Debian: x86, alpha, hppa, m68k, powerpc, s390, sparc
All these platforms have ghc packages in unstable in the main Debian archive (and should move into testing shortly). Only x86 and sparc are registerised. "apt-get update; apt-get install ghc6 ghc6-prof ghc6-doc" as normal, with ghc6-hopengl, ghc6-libsrc providing some extra bits for those who want them.
For x86 I've also compiled for stable and uploaded to Isaac's "Haskell Experimental" repository. To use it add this line to /etc/apt/sources.list: deb http://www.syntaxpolice.org/haskell-experimental/stable/ and install as above.
The Debian packages are maintained by Ian Lynagh.
GHC is in the FreeBSD ports tree as lang/ghc.
To install a binary package, try
To install from source instead, make sure your copy of /usr/ports is up to date, and say cd /usr/ports/lang/ghc && make install.
GHC is now in the OpenBSD ports tree as lang/ghc. Make sure your ports tree is up to date, and say cd /usr/ports/lang/ghc && make install.
OpenBSD support is thanks to Don Stewart.
It's a double-clickable disk image containing an Apple Installer Package (.pkg). It includes profiling, GHCi and OpenGL, but no documentation (use the online docs for now). GHCi is now statically linked with Readline, but the readline library itself is not included, so you will have to install that seperately if you link anything with -package util.
MacOS X packages were prepared by Wolfgang Thaller.
MacOS X 10.2 & 10.3 (using darwinports)GHC can also be installed on MacOS X using the darwinports system. See this message for details.
This is an unregisterised build.
PowerPC/AIX support is by John Goerzen.