haskell - Stack build tool: compatibility issue with LTS resolver -
being advertised breakthrough in haskell tooling, tried switching cabal stack. however, still have problem getting projects run stack run cabal. believe issue there global constraints set resolver (e.g. long term support packages stackage) don't comply local package dependencies.
for concrete example, used snap framework (http://snapframework.com/) in version 0.14.0.6. after creating full snap project snap init
, tried instantiate stack build plan cabal file stack init
. however, there no build plan found stack satisfies constraints. on other hand, cabal install
builds project.
is there mistake in understanding of stack? how can 1 resolve issue?
the complete error log show below, project's name snapfull:
checking against build plan lts-3.7 * build plan did not match requirements: base version 4.8.1.0 found - snapfull requires >=4 && <4.4 lens version 4.12.3 found - snapfull requires >=3.7.6 && <3.8 snap-loader-dynamic not found - snapfull requires ==0.10.* snap-loader-static not found - snapfull requires >=0.9 && <0.10 checking against build plan lts-2.22 * build plan did not match requirements: base version 4.7.0.2 found - snapfull requires >=4 && <4.4 lens version 4.7.0.1 found - snapfull requires >=3.7.6 && <3.8 snap-loader-dynamic not found - snapfull requires ==0.10.* snap-loader-static not found - snapfull requires >=0.9 && <0.10 checking against build plan lts-3.8 * build plan did not match requirements: base version 4.8.1.0 found - snapfull requires >=4 && <4.4 lens version 4.12.3 found - snapfull requires >=3.7.6 && <3.8 snap-loader-dynamic not found - snapfull requires ==0.10.* snap-loader-static not found - snapfull requires >=0.9 && <0.10 checking against build plan nightly-2015-10-09 * build plan did not match requirements: base version 4.8.1.0 found - snapfull requires >=4 && <4.4 lens version 4.12.3 found - snapfull requires >=3.7.6 && <3.8 snap-loader-dynamic not found - snapfull requires ==0.10.* snap-loader-static not found - snapfull requires >=0.9 && <0.10 there no snapshot found matched package bounds in .cabal files. please choose 1 of following commands started. stack init --resolver lts-3.7 stack init --resolver lts-2.22 stack init --resolver lts-3.8 stack init --resolver nightly-2015-10-09 you'll need add extra-deps. see: https://github.com/commercialhaskell/stack/blob/master/doc/yaml_configuration.md#extra-deps can try falling dependency solver with: stack init --solver
i suggest giving non-lts solver try:
$ stack init --resolver=ghc-7.10 --force
or
$ stack init --resolver=ghc-7.8 --force
this gives working results more lts-*
solver, except don't benefit stability of lts. since you're coming cabal, didn't have lts prior anyway, might start out regular ghc-7.10
or ghc-7.8
resolver , see if can move lts later on.
p.s. can try nightlies, somewhere between lts-*
, ghc-*
guess, haven't tried myself.
edit: after stack init
command typically need run stack solver --modify-stack-yaml
populate extra-deps
section in stack.yaml
build dependencies computed build-depends
section in .cabal
file. think what's happening init
configures project specified solver doesn't invoke actual dependency resolution. (i'd appreciate corrections information.)
Comments
Post a Comment