After my previous article about installing Haskell’s Cabal package in Ubuntu, I decided to do a bit more research on using Haskell in Ubuntu. It turns out that the debian packages in the Ubuntu repositories for Haskell and GHC are hopelessly out of date, excluding not only the added functionality of new releases, but also the Haskell Platform, which is effectively an extended set of standard libraries surrounding Haskell. Funnily enough, the Haskell platform actually includes Cabal, which effectively makes my previous post useless. In its stead, I present to you a guide on installing GHC and the Haskell platform on your Ubuntu system (though these steps should work equally well on any Linux system with apt-get as a package manager).

First things first, lets get the dependencies out of the way.

sudo apt-get install libedit2 libedit-dev freeglut3-dev libglu1-mesa-dev

Now let’s remove any haskell packages we may have installed, as these will cause conflicts.

sudo apt-get autoremove ghc6

Note that if you installed cabal as per my previous post, you can remove the executable from your $PATH by executing the following:

sudo rm /usr/local/sbin/cabal

This will not delete the executable, which is stored in $HOME/.cabal/bin/. This just removes the sym-link that was in your $PATH.

Next, lets grab the source for GHC 6.10.3 (which is required to build the Haskell Platform)

wget http://haskell.org/ghc/dist/6.10.3/ghc-6.10.3-i386-unknown-linux-n.tar.bz2

and untar it.

tar -xvvf http://haskell.org/ghc/dist/6.10.3/ghc-6.10.3-i386-unknown-linux-n.tar.bz2

next, lets configure it and build it:

cd ghc-6.10.3/ ./configure sudo make install

After this, installing the Haskell Platform is just more of the same:

#grab the tarball wget http://hackage.haskell.org/platform/2009.2.0.1/haskell-platform-2009.2.0.1.tar.gz # untar it tar -xvvf http://hackage.haskell.org/platform/2009.2.0.1/haskell-platform-2009.2.0.1.tar.gz # ... and install it. cd haskell-platform-2009.2.0.1/ ./configure make sudo make install

Along the way, the install scripts for the Haskell Platform will give you prompts for the next step to take.

Enjoy your Haskell Platform, and happy developing!