Skip to content

Instantly share code, notes, and snippets.

@duelinmarkers
Last active August 29, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save duelinmarkers/a027446d56ee8dcb6c0d to your computer and use it in GitHub Desktop.
Save duelinmarkers/a027446d56ee8dcb6c0d to your computer and use it in GitHub Desktop.
Idris install via cabal fails
$ cabal install idris
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: idris-0.9.13.1 (user goal)
trying: optparse-applicative-0.9.0 (dependency of idris-0.9.13.1)
trying: transformers-compat-0.3.3.4 (dependency of optparse-applicative-0.9.0)
trying: transformers-compat-0.3.3.4:-three
trying: trifecta-1.4.2 (dependency of idris-0.9.13.1)
next goal: transformers (dependency of idris-0.9.13.1)
rejecting: transformers-0.2.2.0/installed-367... (conflict:
transformers-compat-0.3.3.4:three => transformers>=0.4.1 && <0.5)
rejecting: transformers-0.4.1.0 (conflict: trifecta => transformers>=0.2 &&
<0.4)
rejecting: transformers-0.3.0.0, 0.2.2.1, 0.2.2.0, 0.2.1.0, 0.2.0.0 (conflict:
transformers-compat-0.3.3.4:three => transformers>=0.4.1 && <0.5)
rejecting: transformers-0.1.4.0, 0.1.3.0, 0.1.1.0, 0.1.0.1, 0.1.0.0, 0.0.1.0,
0.0.0.0 (conflict: optparse-applicative => transformers>=0.2 && <0.5)
rejecting: transformers-0.4.0.0 (conflict: transformers-compat-0.3.3.4:three
=> transformers>=0.4.1 && <0.5)
$ cabal --version
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.4.1
@qxjit
Copy link

qxjit commented Jul 3, 2014

I have a much older (0.1.1.1) transformers-compat. Looks like many new releases of transformers-compat have come out since may. The latest one needs a flag to work with transformers-0.3.* (I have 0.3.0.0).

You can try cabal install idris -fthree and see if that works. I can't remember if cabal will pass the build flag all the way down.

It's extremely frustrating when new versions of dependencies being release breaks a package installing :/

@moorooboorai-jeroen
Copy link

Don't know what platform you're building on, but I've - in the end - been successful on OSX. I've cloned the Idris repo here: https://github.com/idris-lang/Idris-dev and then continued building from source as per README. Used MacPorts to grab the recommended libs.

But...maybe the biggest 'trick' of all was using a

$ cabal sandbox init

in the build directory (as the sandbox) before doing the make. (Having had to deal with many a cabal hell situation finally had me wisening up ;-) )

The resulting Idris binary ended up in the Idris-dev/dist/dist-sandbox-4eb47202/build/Idris/idris subdirectory.

I then linked to it

$ sudo ln -s ~/sources/Idris-dev/dist/dist-sandbox-4eb47202/build/Idris/idris /opt/local/bin/idris

Might be a bit hackish, but since I was only trying to get stuff working I was fine with it.

Just my two cents.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment