Version 5.04.1 (released 13 September 2002)

Known Bugs

  • Deriving the Read class on a type containing a constructor with a field of type Maybe a for any a doesn't work properly. eg.
        data T = C Int (Maybe String)  deriving Read
    results in a bogus Read instance which will give parse errors when it is used. The workaround is to add field names to this constructor:
        data T = C { a :: Int, b :: Maybe String }  deriving Read

  • Profiling is broken on Windows. It'll be fixed in 5.04.2.

Online Docs


  • The source distribution needs an installed GHC 4.08.X or 5.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 the .tar.bz2 binary bundle.

Available downloads are:

  • Source: .tar.bz2 (4.5 Mb).
  • RPMs for RedHat Linux/x86 7.3 (these may also work with RedHat 8.0; for 7.2 RPMs see below) from Manuel Chakravarty:
  • RPMs for RedHat Linux/x86 7.2 from Jeff Lewis:
  • Binary tar for Linux/x86 with glibc 2.2 (a complete build, including interactive system, profiling libraries and documentation): .tar.bz2 (15.9 Mb). This build was done on a RedHat 7.2 box.

    NOTE: you need the following libraries to use this distribution:, These come as standard on RedHat 7.2, at least.

  • Binary tar for SPARC Solaris 2.7 (complete build, with profiling libraries and docs): .tar.bz2 (21.7 Mb).

    On Solaris, you'll need, which resolves to /usr/lib/ on our build machine. You should ensure you have this before you start, since without it GHC won't work at all.

    NOTE: GCC 3.1 does not work with GHC on Sparc/Solaris at this time. Please ensure that an earlier version (preferrably 2.95.3) is installed and is called 'gcc' on your path.

  • Windows Installer for Microsoft Windows 95, 98, ME, NT, 2000 and XP, prepared by Sigbjorn Finne (complete build, as above): ghc-5-04-1.msi (~29 Mb).

    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.

  • FreeBSD/x86 packages:

    • FreeBSD users can install a binary package of ghc by saying pkg_add -r ghc, provided the package exists on whatever mirror site your system is set up to use. At time of writing (13/11) the port is still for version 5.04, but the upgrade to 5.04.1 should happen shortly.
    • 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.

  • OpenBSD/x86 3.1 packages, prepared by Don Stewart:

    This message describes how to build GHC from source using the port on OpenBSD/x86.