Skip to content

Instantly share code, notes, and snippets.

@maxlazio
Forked from yantonov/install-ghc-ubuntu.md
Last active August 29, 2015 14:15
Show Gist options
  • Select an option

  • Save maxlazio/5130852afedaa028dd23 to your computer and use it in GitHub Desktop.

Select an option

Save maxlazio/5130852afedaa028dd23 to your computer and use it in GitHub Desktop.

install latest Haskell GHC 7.8.2 + cabal 1.20 on ubuntu

ghc

ubuntu prerequisites

# Multiprecision arithmetic library developers tools
$ sudo apt-get install libgmp-dev -y    
$ sudo -K

ghc installation

$ cd $HOME/Downloads
$ wget http://www.haskell.org/ghc/dist/7.8.2/ghc-7.8.2-x86_64-unknown-linux-deb7.tar.bz2
$ tar xjvf ghc-7.8.2-x86_64-unknown-linux-deb7.tar.bz2
$ cd ghc-7.8.2

$ ./configure --prefix=$HOME/Development/bin/ghc-7.8.2
# or choose another path

$ make install

symbol links

$ cd $HOME/Development/bin
$ ln -s `pwd`/ghc-7.8.2 ghc

add $HOME/Development/bin/ghc to $PATH

$ PATH=$HOME/Development/bin/ghc/bin:${PATH}

remove temporary files

cd $HOME/Downloads
rm ghc-7.8.2-x86_64-unknown-linux-deb7.tar.bz2
rm -rf ghc-7.8.2

cabal (package manager for haskell)

cabal library

clone dist

$ cd $HOME/Downloads
$ wget http://www.haskell.org/cabal/release/cabal-1.20.0.0/Cabal-1.20.0.0.tar.gz

extract

$ tar xzvf Cabal-1.20.0.0.tar.gz
$ cd Cabal-1.20.0.0

build

$ ghc --make Setup.hs
$ ./Setup configure --user
$ ./Setup build
$ ./Setup install

remove temporary files

cd $HOME/Downloads
rm Cabal-1.20.0.0.tar.gz
rm -rf Cabal-1.20.0.0

cabal-install

get dist

$ cd $HOME/Downloads
$ wget http://www.haskell.org/cabal/release/cabal-install-1.20.0.0/cabal-install-1.20.0.0.tar.gz

extract

$ tar xzvf cabal-install-1.20.0.0.tar.gz
$ cd cabal-install-1.20.0.0

install

$ ./bootstrap.sh

remove temporary files

cd $HOME/Downloads
rm cabal-install-1.20.0.0.tar.gz
rm -rf cabal-install-1.20.0.0

add path to cabal to PATH environment

$ PATH=$HOME/.cabal/bin:$PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment