To install git-annex from scratch, you need a lot of stuff. Really quite a lot.
- Haskell stuff
- The Haskell Platform (GHC 7.4 or newer)
- A ton of haskell libraries. Rather than try to list them all here,
see git-annex.cabal. Probably the easiest way to install them:
cabal update; cabal install git-annex --only-dependencies
- Shell commands
- git (1.7.2 or newer; 1.8.5 or newer recommended)
- xargs
- rsync
- curl (optional, but recommended)
- wget (optional)
- sha*sum (optional)
- gpg (optional; needed for encryption)
- lsof (optional; recommended for watch mode)
- gcrypt (optional)
- nocache (optional)
- multicast DNS support, provided on linux by nss-mdns (optional; recommended for the assistant to support pairing well)
- ikiwiki (optional; used to build the docs)
Then just download git-annex and run: make; make install
I tried this on ubuntu 14.04 without any previous haskell installs and cabal failed to resolve the dependencies:
rejecting: optparse-applicative-0.9.0 (conflict: hjsmin => optparse-applicative>=0.7 && <0.9)
full log
apt-get install happy alex libghc-hjsmin-dev
solved the problem for me. The hjsmin lib was probably crucial. It seems a bunch of dependencies can also be installed as debs rather than through cabal.standalone/android/buildchroot-inchroot
gave me a clue.Next thing i ran into was missing c2hs. So
apt-get install c2hs
before running the cabal install otherwise...