Compiling on Linux is fairly straightforward. All of the library dependencies usually compile without problems on Linux (and other Unix-like operating systems such as Mac OS X). Depending on your distribution, you may be able to install most or all of the dependencies from distribution-provided packages. Please let us know the appropriate list for your distribution if it's not already on this page.
Debian or Ubuntu
Install the following packages:
- libc6-dev
- gcc
- g++
- make
- ghc6
- libghc6-mtl-dev (not needed or available in Debian 3.1 'Sarge', or Ubuntu 'Edgy' or earlier)
- libgc-dev
- happy
- libpcre3-dev
- libncurses5-dev
- libgcrypt-dev
- libgnutls-dev
- libtool
- autotools-dev (development version of Kaya only)
- darcs (development version of Kaya only)
You may also want some of the following packages to compile optional libraries:
- libpq-dev
- libmysqlclient15-dev
- libsqlite3-dev
- libgd2-xpm-dev
- libsdl1.2-dev
- freeglut3-dev
- libncursesw5-dev
Fedora
Install the following packages:
- ghc
- happy
- gc-devel
- libgcrypt-devel
- pcre-devel
- gnutls-devel
- zlib-devel
- curses-devel
- libtool
The 'happy' package is only available in Fedora 6 and later, but packages for previous Fedora releases can be downloaded from the happy download directory.
You may also want some of the following packages to compile optional libraries:
- mysql-devel
- postgresql-devel
- sqlite-devel
- gd-devel
- SDL-devel
To compile with MySQL support, you will need to use LDFLAGS="-L /usr/lib/mysql" ./configure in addition to installing the appropriate packages, and a relatively recent MySQL library that supports prepared statements.
Mac OS X (MacPorts)
Install the following ports and their dependencies:
- ghc
- happy
- pcre
- gnutls
- boehm-gc
- darcs (development version only)
For more information, see Building on Intel Mac from the mailing list archives (the procedure for older non-Intel Macs is very similar).