Skip to content
JakeEP edited this page Oct 3, 2016 · 20 revisions

Note: You can also choose build in a Cabal Sandbox as mentioned here.

Idris on Debian Jessie


Update: 2016-10-03.

For at least Debian Jessie 3.16.36-1+deb8u1 (my installation) the instructions below this update may not work. In particular you may be able to install with just:

sudo apt install haskell-platform
sudo apt install libncurses5-dev
mkdir Idris
cd Idris
cabal update
cabal sandbox init
cabal install idris

You may need a few packages I already had for my install (as are probably mentioned in the instructions below this update).

libncurses5-dev is where the instructions below this update may fail you - if you are having problems with cabal telling you your installation will break, or when you --force-installs anyway and terminfo fails to install because it is missing curses.h, installing libncurses5-dev should fix this for you.


I will describe the installation of Idris in a Haskell sandbox, relying in great part on Debian packages.

Having installed a basic Hakell environment, and in particular Cabal from Debian (your mileage may vary, of course):

# apt-get install haskell-platform cabal-install libgmp-dev

Further packages I install either from Debian or from within my isolated Haskell environment. Anyway, a few more Debian packages are needed:

# apt-get install llvm-3.3-dev libghc-terminfo-dev pkg-config libgc-dev build-essential libghc-llvm-dev

Update the cabal package list:

$ cabal update

A sandbox is created easily:

$ cabal unpack idris 
$ cd idris-0.9.19
$ cabal sandbox init

This should be enough to install Idris:

$ cabal install --dependencies-only
$ cabal install -f FFI -f LLVM -f GMP

If this command completed succesfully, you should be able to run Idris using:

$ ./.cabal-sandbox/bin/idris

You can also specify an alternative directory for the binary (a directory that you already added to your $PATH for example), like this:

$ cabal install --bindir=$HOME/.local/bin/ -f FFI -f LLVM -f GMP

Note Idris will then install all packages into the sandbox. So removing the unpacked Idris directory will also delete all the libraries you have installed.

If everything goes well, you should be able to just call idris:

$ idris

Idris on Debian Wheezy

This excellent guide entails how to get a recent version of Haskell on Debian Wheezy: http://www.extellisys.com/articles/haskell-on-debian-wheezy

This is necessary for building the most recent version of Idris without pulling ones hair out. Once this has been done, there is one more dependency needed to link Idris, this can be installed via the following command

sudo apt-get install libtinfo-dev

You may also need to edit your .bashrc to reflect the location of our new shiny binaries. We can do this by adding the following to our file:

export PATH=$PATH:/usr/local/opt/ghc-7.8.3-x86_64-min/bin

Now, after restarting bash or reloading the profile, you should see this upon running these commands:

$  cabal --version
cabal-install version 1.20.0.3
using version 1.20.0.0 of the Cabal library 
$  ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.8.3

Next, we simply install Idris via cabal

cabal update
cabal install idris

Not so soon after, and we're done :).

Clone this wiki locally