-
Notifications
You must be signed in to change notification settings - Fork 847
Closed
Description
General summary/comments
Self-executing scripts don't pipe plan construction errors from runhaskell to terminal.
Steps to reproduce
Given a stack.yaml that uses a package that relies on another package from extra-deps:
resolver: lts-8.22
packages:
- location:
git: [email protected]:cjdev/cloudseeder.git
commit: c7068f25c41bcc0b4bdfc9b38ee5b05b5caefae5
extra-dep: true
extra-deps:
- optparse-applicative-0.14.0.0
flags: {}
extra-package-dbs: []...and a self-executing script that references that package, called script.hs:
#!/usr/bin/env stack
-- stack runhaskell --package cloud-seeder
main :: IO ()
main = putStrLn "yo"Expected
With the - optparse-applicative-0.14.0.0 line in place, running gives the expected result:
$ ./script
yo$ stack runhaskell --package cloud-seeder ./script.hs
yoActual
However, if we remove - optparse-applicative-0.14.0.0, only the direct call to runhaskell returns useful error information:
$ ./script
Plan construction failed.$ stack runhaskell --package cloud-seeder ./script.hs
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for cloud-seeder-0.1.0.0:
optparse-applicative-0.13.2.0 from stack configuration does not match >=0.14.0.0 (latest matching version is 0.14.2.0)
needed since cloud-seeder is a build target.
Some potential ways to resolve this:
* Recommended action: try adding the following to your extra-deps in /Users/marnold/Code/lambda/runhaskell-test/stack.yaml:
- optparse-applicative-0.14.2.0
* Set 'allow-newer: true' to ignore all version constraints and build anyway.
* You may also want to try using the 'stack solver' command.
Plan construction failed.Stack version
$ stack --version
Version 1.6.5, Git revision 24ab0d6ff07f28276e082c3ce74dfdeb1a2ca9e9 (5514 commits) x86_64 hpack-0.20.0
Method of installation
- Official binary, downloaded from stackage.org or fpcomplete's package repository