Difference between revisions of "Cabal/How to install a Cabal package"
< Cabal
Jump to navigation
Jump to search
DavidHouse (talk | contribs) (Update now cabal-install has been released) |
DavidHouse (talk | contribs) (Change to runhaskell, omit .hs suffices, add sudo for installs) |
||
Line 12: | Line 12: | ||
# Move into the directory this creates: |
# Move into the directory this creates: |
||
#:<code>cd PACKAGE-VERSION</code> |
#:<code>cd PACKAGE-VERSION</code> |
||
− | # |
+ | # In order to install a package globally, perform the following commands (see the [http://www.haskell.org/ghc/docs/latest/html/Cabal/builders.html Cabal documentation] for more details): |
− | #:<code> |
+ | #:<code>runhaskell Setup configure</code> |
− | #:<code> |
+ | #:<code>runhaskell Setup build</code> |
− | #:<code> |
+ | #:<code>sudo runhaskell Setup install</code> |
=== Notes === |
=== Notes === |
||
− | # If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following <code>configure</code> command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth: |
+ | # If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following <code>configure</code> command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth : |
− | #:<code> |
+ | #:<code>runhaskell Setup configure --user --prefix=$HOME</code> |
+ | #: (Note that in Cabal 1.4 onwards, you may omit the <code>--prefix=$HOME</code>, since <code>--prefix=$HOME/.cabal</code> is now implied by <code>--user</code>. Also note that you can omit <code>sudo</code> in the install statement if you use this method.) |
||
# You can get more information about any of these commands by adding <code>--help</code> after the command. For example, to see all the options available for the <code>configure</code> step, you could use the following command: |
# You can get more information about any of these commands by adding <code>--help</code> after the command. For example, to see all the options available for the <code>configure</code> step, you could use the following command: |
||
− | #:<code> |
+ | #:<code>runhaskell Setup configure --help</code> |
# If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package. |
# If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package. |
||
# If you have more than one Haskell compiler on your system, use the <code>--with-compiler</code> option for the <code>configure</code> step. That will ensure that Cabal uses the correct compiler during the entire installation process. For example: |
# If you have more than one Haskell compiler on your system, use the <code>--with-compiler</code> option for the <code>configure</code> step. That will ensure that Cabal uses the correct compiler during the entire installation process. For example: |
||
− | #: <code> |
+ | #: <code>runhaskell Setup configure --with-compiler=ghc-6.8.2</code> |
− | #: <code> |
+ | #: <code>runhaskell Setup build</code> |
− | #: <code> |
+ | #: <code>sudo runhaskell Setup install</code> |
Revision as of 19:14, 21 August 2008
There's an interesting Haskell package on HackageDB you'd like to try. How do you install it on your system?
- Check whether the package came with your Haskell implementation.
- If your 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. By far the easiest way is to use cabal-install to do everything automatically (note to build cabal-install for the first time, you'll need to use the manual method below). If you so wish, you can still install packages manually -- see the section below.
Installing packages manually
- First, ensure that all the packages it depends on are installed (by following these instructions recursively).
- 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
- Move into the directory this creates:
cd PACKAGE-VERSION
- 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
- 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 omitsudo
in the install statement if you use this method.)
- 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 theconfigure
step, you could use the following command:runhaskell Setup configure --help
- If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package.
- If you have more than one Haskell compiler on your system, use the
--with-compiler
option for theconfigure
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