Difference between revisions of "Cabal/How to install a Cabal package"

From HaskellWiki
Jump to navigation Jump to search
m
(Update sections referring to cabal-install)
Line 1: Line 1:
 
[[Category:How to]]
 
[[Category:How to]]
There's an interesting Haskell package on [http://hackage.haskell.org/packages/archive/pkg-list.html HackageDB] you'd like to try. How do you install it on your system?
+
There's an interesting Haskell package on [http://hackage.haskell.org/ Hackage] you'd like to try. How do you install it on your system?
   
 
# Check whether the package came with your Haskell implementation.
 
# Check whether the package came with your Haskell implementation.
 
# If your [[:Category:OS|operating system]] has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there.
 
# If your [[:Category:OS|operating system]] has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there.
  +
# Otherwise, you'll have to build and install the package...
# Otherwise, you'll have to build and install the package. By far the easiest way is to use [http://hackage.haskell.org/trac/hackage/wiki/CabalInstall ''cabal-install''] to do everything automatically (note to build cabal-install for the first time, you'll need to use the manual method below; Windows users can download a binary (cabal.exe) from [http://haskell.org/~duncan/cabal/ here]). If you so wish, you can still install packages manually -- see the section below.
 
  +
  +
By far the easiest way is to use the <code>cabal</code> command line tool to do everything automatically. The <code>cabal</code> command line tool does not yet come with GHC or most native distributions. Somewhat confusingly, the tool is provided by the package called <code>cabal-install</code>. See the [[Cabal-Install]] page for how to install and use the tool.
  +
  +
If you so wish, you can still install packages manually -- see the section below.
   
 
== Installing packages manually ==
 
== Installing packages manually ==

Revision as of 12:23, 6 March 2009

There's an interesting Haskell package on Hackage you'd like to try. How do you install it on your system?

  1. Check whether the package came with your Haskell implementation.
  2. If your operating system has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there.
  3. Otherwise, you'll have to build and install the package...

By far the easiest way is to use the cabal command line tool to do everything automatically. The cabal command line tool does not yet come with GHC or most native distributions. Somewhat confusingly, the tool is provided by the package called cabal-install. See the Cabal-Install page for how to install and use the tool.

If you so wish, you can still install packages manually -- see the section below.

Installing packages manually

  1. First, ensure that all the packages it depends on are installed (by following these instructions recursively).
  2. Unpack the tar file (yes, this assumes a Unix system; sorry about that (how to unpack a tar file in windows)):
    tar xzf PACKAGE-VERSION.tar.gz
  3. Move into the directory this creates:
    cd PACKAGE-VERSION
  4. In order to install a package globally, perform the following commands (see the Cabal documentation for more details):
    runhaskell Setup configure
    runhaskell Setup build
    sudo runhaskell Setup install

Notes

  1. If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following configure command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth :
    runhaskell Setup configure --user --prefix=$HOME
    (Note that in Cabal 1.4 onwards, you may omit the --prefix=$HOME, since --prefix=$HOME/.cabal is now implied by --user. Also note that you can omit sudo in the install statement if you use this method.)
  2. You can get more information about any of these commands by adding --help after the command. For example, to see all the options available for the configure step, you could use the following command:
    runhaskell Setup configure --help
  3. If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package.
  4. If you have more than one Haskell compiler on your system, use the --with-compiler option for the configure step. That will ensure that Cabal uses the correct compiler during the entire installation process. For example:
    runhaskell Setup configure --with-compiler=ghc-6.8.2
    runhaskell Setup build
    sudo runhaskell Setup install