Installing pandoc

Installing from Source

This method will work on all architectures, but requires that you first install the GHC compiler and some build tools: GNU make, sed, bash, and perl. These are standard on unix systems (including MacOS X). If you’re using Windows, you can install Cygwin.

Installing GHC

To compile Pandoc, you’ll need GHC version 6.6 or greater. If you don’t have GHC already, you can get it from the GHC Download page. If you’re compiling GHC from source, be sure to get the extralibs in addition to the base tarball.

If you’re running MacOS X, it may be more convenient to install GHC using MacPorts or Fink.

If you’re on a debian-based linux system (such as Ubuntu), you can get GHC and the required libraries using apt-get:

sudo apt-get install ghc6 libghc6-xhtml-dev libghc6-mtl-dev libghc6-network-dev

Getting the source

Download the source tarball from pandoc’s pandoc’s google code site. Extract the contents into a subdirectory:

tar xvzf pandoc-0.xy.tar.gz

Installing Pandoc

  1. Change to the directory containing the Pandoc distribution.

  2. Compile:

    make
    

    If you get “Unknown modifier” errors, it is probably because make on your system is not GNU make. Try using gmake instead.

  3. See if it worked (optional, but recommended):

    make test
    

    Note: if you see errors like the following, they’re due to differences between different versions of the xhtml library, and can safely be disregarded:

    2c2
    < <html xmlns="http://www.w3.org/1999/xhtml"
    ---
    > <html
    
  4. Install:

    sudo make install
    

    Note: This installs pandoc, together with its wrappers and documentation, into the /usr/local directory. If you’d rather install pandoc somewhere else—say, in /opt/local—you can set the PREFIX environment variable:

    PREFIX=/opt/local sudo make install
    

    If you don’t have root privileges or would prefer to install pandoc and the associated wrappers into your ~/bin directory, type this instead:

    PREFIX=~ make install-exec
    
  5. Build and install the Haskell libraries and library documentation (optional—for Haskell programmers only):

    make build-all
    sudo make install-all
    

    Note that building the library documentation requires haddock.

Removing Pandoc

Each of the installation steps described above can be reversed:

sudo make uninstall

PREFIX=~ make uninstall-exec

sudo make uninstall-all

Other targets

The following ‘make’ targets should not be needed by the average user, but are documented here for packagers and developers:

Building and installing

Testing

Cleaning

Packaging

Installing pandoc using Cabal

Pandoc can also be installed using the standard Haskell packaging tool, Cabal. You’ll need GHC 6.6 or greater (see Installing GHC, above). Just download the source tarball, unpack, and type:

runhaskell Setup.hs configure
runhaskell Setup.hs build
runhaskell Setup.hs install  # this one as root

This will install the pandoc executable and the Haskell libraries, but not the shell scripts, man pages, or other documentation.

Note: If you are using GHC 6.6.*, you will need to start by replacing pandoc.cabal with a version suitable for GHC 6.6:

cp pandoc.cabal pandoc.cabal.orig
cp pandoc.cabal.ghc66 pandoc.cabal 

Installing pandoc using MacPorts

This is an alternative to compiling from source on MacOS X. MacPorts is a system for building and maintaining *nix software on MacOS X computers. If you don’t already have MacPorts, follow these instructions for installing it.

Once you’ve installed MacPorts, you can install pandoc by typing:

sudo port sync                 # to get the most recent ports
sudo port install pandoc

Since pandoc depends on GHC, the process may take a long time.

Installing the Windows binary

Simply download the zip file from pandoc’s google code site. Extract the files from the archive, and put pandoc.exe somewhere in your PATH.

Note that the Windows binary distribution does not include the shell scripts markdown2pdf, html2markdown, or hsmarkdown. If you need these, compile from source.

Installing pandoc on Debian

Pandoc is now in the debian unstable archive, and can be installed using apt-get (as root):

apt-get install pandoc               # the program, shell scripts, and docs
apt-get install libghc6-pandoc-dev   # the libraries
apt-get install pandoc-doc           # library documentation

Thanks to Recai Oktaş for setting up the debian packages.

Installing pandoc on FreeBSD

Pandoc is in the FreeBSD ports repository (textproc/pandoc) and can be installed in the normal way:

cd /usr/ports/textproc/pandoc
make install clean   # as root

Alternatively, you can use pkg_add:

pkg_add -r pandoc

Note that the version of pandoc in FreeBSD’s official repository may be somewhat older than the most recent version.

Installing pandoc on Arch linux

Abhishek Dasgupta has created a binary package for pandoc in the Arch linux repository. Arch users can install pandoc by typing

pacman -Sy pandoc