[Haskell-beginners] cabal install hakyll: global constraint requires installed instance + other conflicts

Stanislaw Findeisen fixpoint.combinator at gmail.com
Thu Aug 25 12:18:02 UTC 2016


Hi

I am trying to install hakyll in a cabal sandbox, but somehow it doesn't
work. Here's what I am doing:

> $ cabal sandbox init
> $ cabal install hakyll
> Resolving dependencies...
> cabal: Could not resolve dependencies:
> trying: hakyll-4.8.3.2 (user goal)
> next goal: base (dependency of hakyll-4.8.3.2)
> rejecting: base-4.6.0.1/installed-8aa... (conflict: hakyll => base>=4.8 && <5)
> rejecting: base-4.9.0.0, 4.8.2.0, 4.8.1.0, 4.8.0.0, 4.7.0.2, 4.7.0.1, 4.7.0.0,
> 4.6.0.1, 4.6.0.0, 4.5.1.0, 4.5.0.0, 4.4.1.0, 4.4.0.0, 4.3.1.0, 4.3.0.0,
> 4.2.0.2, 4.2.0.1, 4.2.0.0, 4.1.0.0, 4.0.0.0, 3.0.3.2, 3.0.3.1 (global
> constraint requires installed instance)
> Backjump limit reached (change with --max-backjumps).
> 
> Note: when using a sandbox, all packages are required to have consistent
> dependencies. Try reinstalling/unregistering the offending packages or
> recreating the sandbox.

Then I tried (inside the sandbox):

> $ cabal install cabal-install

which installed cabal 1.24.0.0 into the sandbox. Now, when I am using
it, I am getting different errors:

> $ .cabal-sandbox/bin/cabal install hakyll
> Warning: cannot determine version of /usr/lib/ghc/bin/haddock-ghc-7.6.3 :
> ""
> Resolving dependencies...
> cabal: Could not resolve dependencies:
> trying: parsec-3.1.11/installed-4f0... (user goal)
> trying: pandoc-1.17.2 (dependency of hakyll-4.7.5.2)
> next goal: cmark (dependency of pandoc-1.17.2)
> rejecting: cmark-0.5.3.1, cmark-0.5.2.1, cmark-0.5.2, cmark-0.5.1, cmark-0.5.0
> (conflict: parsec => text==0.11.3.1/installed-e38..., cmark => text>=1.0 &&
> <1.3)
> rejecting: cmark-0.4.1, cmark-0.4.0.1, cmark-0.3.4, cmark-0.3.3.1,
> cmark-0.3.3, cmark-0.3.2, cmark-0.3.1, cmark-0.3.0.1, cmark-0.3,
> cmark-0.2.0.2, cmark-0.2.0.1, cmark-0.2, cmark-0.1.0.1, cmark-0.1.0.0
> (conflict: pandoc => cmark>=0.5 && <0.6)
> rejecting: cmark-0.5.3 (conflict: parsec => text==0.11.3.1/installed-e38...,
> cmark => text>=1.0 && <1.3)
> rejecting: cmark-0.3.5 (conflict: pandoc => cmark>=0.5 && <0.6)
> Backjump limit reached (currently 2000, change with --max-backjumps or try to
> run with --reorder-goals).
> 
> Note: when using a sandbox, all packages are required to have consistent
> dependencies. Try reinstalling/unregistering the offending packages or
> recreating the sandbox.

What is going on here? Why am I getting different errors with the new
cabal version?
What is the relationship between system-wide packages and those in the
sandbox? I thought sandbox is meant to be an isolated environment?!?

How do I get the list of all the packages currently installed in the
sandbox? Is this:

$ ls ./lib/x86_64-linux-ghc-7.6.3/
async-2.1.0                    ed25519-0.0.5.0           parsec-3.1.11
base16-bytestring-0.1.1.6      hackage-security-0.5.2.1  random-1.1
base64-bytestring-1.0.0.1      HTTP-4000.3.3             stm-2.4.4.1
bytestring-builder-0.10.8.1.0  mtl-2.2.1                 tar-0.5.0.3
Cabal-1.24.0.0                 network-2.6.3.1
transformers-0.5.2.0
cryptohash-sha256-0.11.100.1   network-uri-2.6.1.0       zlib-0.6.1.1

the way? Why is 'base' not on the list, although the new cabal is not
complaining about it anymore?

This is the latest Debian stable.

Thanks!

-- 
http://people.eisenbits.com/~stf/
http://www.eisenbits.com/

OpenPGP: 9EC2 5620 2355 B1DC 4A8F  8C79 0EC7 C214 E5AE 3B4E


More information about the Beginners mailing list