I’m looking for help in resolving this error:
$ stack install pandoc-cli
Error: [S-4804]
Stack failed to construct a build plan.
While constructing the build plan, Stack encountered the following errors:
In the dependencies for pandoc-cli-0.1.1.1:
hslua-cli must match >=1.4.1 && <1.5, but the Stack configuration has no specified
version (latest matching version is 1.4.1)
pandoc-lua-engine must match >=0.2 && <0.3, but the Stack configuration has no specified
version (latest matching version is 0.2.1.1)
pandoc-server must match >=0.1 && <0.2, but the Stack configuration has no specified
version (latest matching version is 0.1.0.2)
needed since pandoc-cli is a build target.
Clearly, stack is having issues understanding version numbers. Best I can tell, stack has the pieces to form a build plan but its logic for building a plan is broken.
I installed stack via curl -sSL https://get.haskellstack.org/ | sh
, as described in the documentation. The only clue that something went wrong when installing stack was the message:
$ stack setup
…
Using the latest snapshot lts-21.7.
…
Downloaded ghc-tinfo6-9.4.5
ar conftest.a: No such file or directory
Installed GHC.
…
$ echo $? # verify success—should be 0
0
I tried this on two systems and got the same error. I also tried compiling stack from GitHub source—that didn’t help.
I am not well-versed in the Haskell ecosystem would appreciate some pointers on how to resolve this issue. Or pointers on where to get help.
And apologies if this off-topic for this group. Just let me know.
Thanks!
Using a stack resolver pins all the packages in that resolver to specific versions, but pandoc-cli depends on newer versions than are available in your reoslver (lts-21.7). You might try using a newer resolver (maybe a nightly?), or using “extra-deps” to add package versions to your resolver.
Alternatively, I use cabal to install things rather than stack.
Finally, if you just want to use pandoc from the command-line, you might look for pandoc packages provided by your distribution. Often Haskell programs are distributed statically linked, at least for Haskell library dependencies, and using such a binary distribution would avoid having to (re)resolve the dependencies on your local system.
HTH