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

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -