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

Comment by azul Thu Jun 19 08:49:05 2014

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.

Comment by azul Fri Jun 20 06:13:09 2014

Next thing i ran into was missing c2hs. So apt-get install c2hs before running the cabal install otherwise...

$ cabal install git-annex --only-dependencies
Resolving dependencies...
Configuring gnuidn-0.2.1...
cabal: The program c2hs is required but it could not be found.
Failed to install gnuidn-0.2.1
cabal: Error: some packages failed to install:
gnuidn-0.2.1 failed during the configure step. The exception was:
ExitFailure 1
network-protocol-xmpp-0.4.6 depends on gnuidn-0.2.1 which failed to install.
Comment by azul Fri Jun 20 06:35:35 2014
Comments on this page are closed.