Installing Pandoc


John Macfarlane released a new version of Pandoc that has a lot of new enhancements. A lot of things have changed in the Markdown input types and it’s now compatible with PHP Markdown. This is very nice, because a lot of implementations use the extensions defined by PHP Markdown.

I downloaded the dmg file to install it on my MacBook Pro and it works like a charm.

So, I decided to install it on my new CentOS 6 server to build documents there. Well, I was in for a nice surprise.

After cloning the source from github I started as documented in the INSTALL file

make prep

and now I get

Resolving dependencies...
cabal: cannot configure directory-1.1.0.0. It requires old-time ==1.0.*
For the dependency on old-time ==1.0.* there are these packages:
old-time-1.0.0.0, old-time-1.0.0.2, old-time-1.0.0.3, old-time-1.0.0.4,
old-time-1.0.0.5, old-time-1.0.0.6 and old-time-1.0.0.7.
However none of them are available.
old-time-1.0.0.0 was excluded because pandoc-1.10.0.5 requires old-time ==1.1.*
old-time-1.0.0.7 was excluded because pandoc-1.10.0.5 requires old-time ==1.1.*

etc.

I kept tweaking the makefile and tried almost everything possible, but I was caught in a cyclic dependency loop. So, time to rethink and use Google.

I had already figured out it had to do with a cabal and ghc version that are to old, so it’s time to update.

I found newer Cabal versions at JustHub.

I started removing every RPM with haskel or ghc in the name and removed ~/.cabal and ~/.ghc directories to start of fresh. Then:

sudo rpm -Uhv
http://sherkin.justhub.org/el6/RPMS/x86_64/justhub-release-2.0-4.0.el6.x86_64.rpm
export PATH=/usr/hs/bin:~/.cabal/bin:$PATH
cabal install cabal-dev
cd ~/pandoc
make prep
.
.

Now it compiles but it breaks with:

make install
cabal-0.14.0: Error: some packages failed to install:
pandoc-1.10.0.5 failed during the tests phase. The exception was:
ExitFailure 1
cabal --config-file=/home/tonk/qq/pandoc/cabal-dev/cabal.config:
/usr/hs/tools/cabal-0.14.0 failure (return code=1)
make: *** [install] Error 1

Some tests fail, but I just removed --enable-tests from the Makefile and I got a working executable. Simply copy it to the ~/.cabal/bin directory, install the man-page and everything is fine.

I think it should be simpler, but for now I’m a happy camper.

See also