Version 9.4.4 (released 24rd December 2022)

Take Notice

The packages on this page include only the GHC compiler. For most users, we recommend installing a proper Haskell distribution instead of GHC alone. A distribution includes a recent GHC release as well as other important tools (such as cabal-install, for installing libraries), and potentially a broader set of libraries known to work together.

Bundled packages and cabal-install

GHC 9.4 only works with cabal-install version 3.8 or later. Please upgrade if you have an older version of cabal-install. This is particularly important for Windows users due to recent changes to linking on Windows.

Optional LLVM dependency

GHC has an optional code generator targeting the LLVM compiler framework which can produce faster code for some programs. If you would like to use the LLVM backend, you'll need to install LLVM 10, 11, 12, or 13 from an upstream binary distribution or via your distribution's package manager.

Contents

Distribution packages

GHC is packaged for a number of operating systems and distributions. While they may lag behind the latest GHC release, advantages such as dependency checking and ease of uninstallation mean we recommend using them anyway, unless you have a particular need for new features or bug fixes.

Binary Packages

The operating system-specific packages (e.g. RPM or .deb packages on Linux) are generally a better bet than the vanilla .tar.xz 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 (/usr or /usr/local on a Unix system), then you'll need to use a .tar.xz binary bundle.

SHA-256 hashes for all of these binary distributions are available here.

All of these tarballs are have associated GPG signatures. Unless otherwise noted the signature should be from Ben Gamari <ben@well-typed.com> (key ID ffeb7ce81e16a36b3e2ded6f2de04d4e97db64ad).

Supported platforms:

Supported platforms

Linux (x86-64)

Alpine (Static, Haskell-native bignum implementation)

Alpine Linux 3.12 for x86-64, statically linked. This is a complete build, including interactive system, profiling libraries and documentation. Unlike our other binary distributions, this links against the Haskell-native big-integer backend and therefore does not require libgmp.

Alpine (Static, GMP bignum implementation)

Alpine Linux 3.12 for x86-64, statically linked. This is a complete build, including interactive system, profiling libraries and documentation.

Debian 11

Generic x86-64 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Debian 11 system.

Debian 10

Generic x86-64 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Debian 10 system and requires GMP 6.0.

Debian 9

Generic x86-64 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Debian 9 "Stretch" system and requires GMP 6.0.

Debian 10 (with DWARF support)

Generic x86-64 Linux with stack unwinding support and debug symbols for core libraries. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Debian 10 "Buster" system and requires libgmp.so.10 (typically GMP 6.x) as well as libdw.

Fedora 33

Generic x86-64 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Fedora 33 system and requires GMP 6.1.

Fedora 33 (with DWARF support)

Generic x86-64 Linux with stack unwinding support and debug symbols for core libraries. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Fedora 33 system and requires GMP 6.1.

CentOS 7

Generic x86-64 Linux. This is a complete build, including interactive system, profiling libraries and documentation.

Linux (x86)

Debian 9

Generic i386 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Debian 9 "Stretch" system and requires libgmp.so.10 (typically GMP 6.x).

Linux (AArch64)

Debian 10

Generic AArch64 Linux. This is a complete build, including interactive system, profiling libraries and documentation. It was built on a Debian 10 system and requires GMP 6.1.

Windows 64-bit (x86_64) (GMP bignum implementation)

This is compatible with Microsoft Windows Vista and later. It also includes support for compiling C++ files.

Windows 64-bit (x86_64) (Haskell-native bignum implementation)

This is compatible with Microsoft Windows Vista and later. It also includes support for compiling C++ files.

macOS (x86-64)

This is a distribution for Mac OS X, 10.7 or later. The package requires the command line tools package of Xcode 4 or XCode 5 to be installed. You can find Xcode at http://developer.apple.com/.

macOS (AArch64)

This is a distribution for Mac OS X, 11.3 or later. The package requires the command line tools package of Xcode 4 or XCode 5 to be installed. You can find Xcode at http://developer.apple.com/.

Source Distribution

The source tarballs provide everything necessary to build the compiler, interactive system, and a minimal set of libraries. For more information on building, see the building guide.

The testsuite provides a thorough set of tests for validating your build. Unpack this tarball on top of the regular source distribution in order to run the testsuite (see the testing guide for details).

Building on Windows requires a set of additional tools. Extract this tarball on top of the regular source distribution,

Hadrian bootstrap sources

We also provide a set of tarballs which include all of the source packages necessary to bootstrap GHC's Hadrian build system with nothing but a Haskell compiler and the included bootstrap script. See the hadrian-bootstrap-sources/ directory for the supported configurations

The source distribution needs an installed GHC (version 9.0 at least). If your platform isn't currently supported with a binary distribution, then you'll need to consult the section on Porting GHC in the Building Guide.