cabal install hakyll: global constraint requires installed instance + other conflicts

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

Hi Stanislaw,
What is going on here? Why am I getting different errors with the new cabal version?
No idea. Perhaps remove the sandbox for the hakyll build and start a new one.
What is the relationship between system-wide packages and those in the sandbox? I thought sandbox is meant to be an isolated environment?!?
Some packages are fixed with the GHC version, like the base one.
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/ the way?
Yes.
Why is 'base' not on the list, although the new cabal is not complaining about it anymore?
The last hakyll version supporting your ghc compiler 7.6.3 was 4.7.5.2. I don't know why cabal gets stuck here, it should take this hakyll version, but you might help cabal with its dependency resolution by directly installing 4.7.5.2: cabal install hakyll-4.7.5.2 Greetings, Daniel

I'd recommend trying out an installation using the Stack build tool instead. Instructions on installing are available at: https://haskell-lang.org/get-started Once installed, you should be able to install hakyll with: stack install hakyll --install-ghc You'll get a message about the directory the executable is installed into, which should be ~/.local/bin On Thu, Aug 25, 2016, 3:22 PM Stanislaw Findeisen < fixpoint.combinator@gmail.com> wrote:
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 _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
participants (3)
-
Daniel Trstenjak
-
Michael Snoyman
-
Stanislaw Findeisen