Next Previous Contents

3. What machines the Glasgow tools run on

The main question is whether or not the Haskell compiler (GHC) runs on your platform.

A ``platform'' is a architecture/manufacturer/operating-system combination, such as sparc-sun-solaris2. Other common ones are alpha-dec-osf2, hppa1.1-hp-hpux9, i386-unknown-linux, i386-unknown-solaris2, i386-unknown-freebsd, i386-unknown-cygwin32, m68k-sun-sunos4, mips-sgi-irix5, sparc-sun-sunos4, sparc-sun-solaris2, powerpc-ibm-aix.

Bear in mind that certain ``bundles'', e.g. parallel Haskell, may not work on all machines for which basic Haskell compiling is supported.

Some libraries may only work on a limited number of platforms; for example, a sockets library is of no use unless the operating system supports the underlying BSDisms.

3.1 What platforms the Haskell compiler (GHC) runs on

The GHC hierarchy of Porting Goodness: (a) Best is a native-code generator; (b) next best is a ``registerised'' port; (c) the bare minimum is an ``unregisterised'' port. (``Unregisterised'' is so terrible that we won't say more about it).

We use Sparcs running Solaris 2.5, x86 boxes running FreeBSD and Linux, and DEC Alphas running OSF/1 V2.0, so those are the ``fully-supported'' platforms, unsurprisingly. All have native-code generators, for quicker compilations. The native-code generator for iX86 platforms (e.g., Linux ELF) is nearly working; but is not turned on by default.

Here's everything that's known about GHC ports. We identify platforms by their ``canonical'' CPU/Manufacturer/OS triple.

Note that some ports are fussy about which GCC version you use; or require GAS; or ...

alpha-dec-osf1:

(We have OSF/1 V3.0.) Fully supported, including native-code generator. We recommend GCC 2.6.x or later.

sparc-sun-sunos4:

Fully supported, including native-code generator.

sparc-sun-solaris2:

Fully supported, including native-code generator. A couple of quirks, though: (a) the profiling libraries are bizarrely huge when compiled with object splitting; (b) the default xargs program is atrociously bad for building GHC libraries (see Section Installing Pre-Supposed Utilities for details).

HP-PA box running HP

UX 9.x:/

Works registerised. No native-code generator. For GCC, you're best off with one of the Utah releases of GCC 2.6.3 (`u3' or later), from jaguar.cs.utah.edu. We think a straight GCC 2.7.x works, too.

Concurrent/Parallel Haskell probably don't work (yet).

i386-*-linux (PCs running Linux---ELF format):

GHC works registerised. You must have GCC 2.7.x or later. The iX86 native-code generator is nearly there, but it isn't turned on by default.

Profiling works, and Concurrent Haskell works. Parallel Haskell probably works.

On old Linux a.out systems: should be the same.

i386-*-freebsd (PCs running FreeBSD 2.2 or higher, and NetBSD/OpenBSD using FreeBSD emulation):

GHC works registerised. Supports same set of bundles as the above.

i386-unknown-cygwin32:

Fully supported under Win95/NT, including a native code generator. Requires the cygwin32 compatibility library and a healthy collection of GNU tools (i.e., gcc, GNU ld, bash etc.) Profiling works, so does Concurrent Haskell.

mips-sgi-irix5:

GHC works registerised (no native-code generator). I suspect any GCC 2.6.x (or later) is OK. The GCC that I used was built with --with-gnu-as; turns out that is important!

Concurrent/Parallel Haskell probably don't work (yet). Profiling might work, but it is untested.

mips-sgi-irix6:

Thanks to the fine efforts of Tomasz Cholewo tjchol01@mecca.spd.louisville.edu, GHC works registerised (no native code generator) under IRIX 6.2 and 6.3. Depends on having specially tweaked version of gcc-2.7.2 around, which can be downloaded from http://mecca.spd.louisville.edu/~tjchol01/software/.

Profiling works, Concurrent/Parallel Haskell might work (AFAIK, untested).

powerpc-ibm-aix:

GHC works registerised (no native-code generator..yet). I suspect 2.7.x is what you need together with this.

Concurrent/Parallel Haskell probably don't work (yet). Profiling might work, but it is untested.

m68k-apple-macos7 (Mac, using MPW):

Once upon a time, David Wright in Tasmania has actually gotten GHC to run on a Macintosh. Ditto James Thomson here at Glasgow. You may be able to get Thomson's from here. (Not sure that it will excite you to death, but...)

No particularly recent GHC is known to work on a Mac.

m68k-next-nextstep3:

Carsten Schultz succeeded with a ``registerised'' port of GHC 0.29. There's probably a little bit-rot since then, but otherwise it should still be fine.

Concurrent/Parallel Haskell probably won't work (yet).

m68k-sun-sunos4 (Sun3):

GHC 2.0x hasn't been tried on a Sun3. GHC 0.26 worked registerised. No native-code generator.

Concurrent/Parallel Haskell probably don't work (yet).

3.2 What machines the other tools run on

Unless you hear otherwise, the other tools work if GHC works.

Haggis requires Concurrent Haskell to work.


Next Previous Contents