Closed mouse07410 closed 5 years ago
When using haskell-debug-adapter, install 3 library at once.
> stack install haskell-dap ghci-dap haskell-debug-adapter
I have tried with lts-13.20(ghc-8.6.5) on Windows10. For this case, free-5.1.1 was installed.
free-4.12.4 is included in LTS 9.21. Is there a resolver definition using lts-9 in global stack.yaml ? ~/.stack/global-project/stack.yaml
Regards.
Changing the resolver from LTS-13.15 to LTS-13.20 seemed to address the problem, at least on one machine. Testing on other machines as we speak.
On one machine (with resolver remaining set to LTS-13.2) the above installation succeeded. On another one, with resolver set to LTS-13.20, it failed. I blew the snapshot rm -rf ~/.stack/snapshots/x86_64-osx/lts-13.20/*
and tried again. Same thing - it still tries to build free-4.12.4
because apparently something (I wonder what?) seems to require it:
$ stack install haskell-dap ghci-dap haskell-debug-adapter
WARNING: Ignoring out of range dependency (allow-newer enabled): base-4.12.0.0. free requires: ==4.* && <4.11
WARNING: Ignoring out of range dependency (allow-newer enabled): containers-0.6.0.1. free requires: <0.6
attoparsec-0.13.2.2: unregistering
ghc-paths-0.1.0.9: unregistering (missing dependencies: Cabal)
haskell-dap-0.0.13.0: unregistering (missing dependencies: ghc-paths, haskeline)
resourcet-1.2.2: unregistering
scientific-0.3.6.2: unregistering
semigroupoids-5.3.2: unregistering
Cabal-2.4.1.0: using precompiled package
base-compat-0.10.5: using precompiled package
base-orphans-0.8.1: using precompiled package
call-stack-0.1.0: using precompiled package
StateVar-1.1.1.1: using precompiled package
cereal-0.5.8.0: using precompiled package
clock-0.7.2: using precompiled package
cmdargs-0.10.20: using precompiled package
dlist-0.8.0.6: using precompiled package
hashable-1.2.7.0: using precompiled package
data-default-class-0.1.2.0: using precompiled package
integer-logarithms-1.0.3: using precompiled package
old-locale-1.0.0.7: using precompiled package
parallel-3.2.2.0: using precompiled package
random-1.1: using precompiled package
reflection-2.1.4: using precompiled package
semigroups-0.18.5: using precompiled package
network-2.8.0.1: configure
cabal-doctest-1.0.6: using precompiled package split-0.2.3.3: using precompiled package HUnit-1.6.0.0: using precompiled package tagged-0.8.6: using precompiled package th-abstraction-0.2.11.0: using precompiled package time-locale-compat-0.1.1.5: using precompiled package async-2.2.1: using precompiled package data-default-instances-containers-0.0.1: using precompiled package data-default-instances-dlist-0.0.1: using precompiled package data-default-instances-old-locale-0.0.1: using precompiled package old-time-1.1.0.3: using precompiled package transformers-compat-0.6.4: using precompiled package unix-compat-0.5.1: using precompiled package uuid-types-1.0.3: using precompiled package distributive-0.6: using precompiled package zlib-0.6.2: using precompiled package typed-process-0.2.4.0: using precompiled package data-default-0.7.1.1: using precompiled package network-2.8.0.1: build regex-base-0.93.2: configure regex-base-0.93.2: build haskeline-0.7.5.0: configure haskeline-0.7.5.0: build ghc-paths-0.1.0.9: configure regex-base-0.93.2: copy/register ghc-paths-0.1.0.9: build contravariant-1.5.1: configure ghc-paths-0.1.0.9: copy/register contravariant-1.5.1: build hfsevents-0.1.6: configure hfsevents-0.1.6: build scientific-0.3.6.2: configure contravariant-1.5.1: copy/register scientific-0.3.6.2: build unliftio-core-0.1.2.0: configure network-2.8.0.1: copy/register hfsevents-0.1.6: copy/register unliftio-core-0.1.2.0: build unordered-containers-0.2.9.0: configure unliftio-core-0.1.2.0: copy/register unordered-containers-0.2.9.0: build vector-algorithms-0.8.0.1: configure vector-algorithms-0.8.0.1: build exceptions-0.10.2: configure exceptions-0.10.2: build comonad-5.0.5: configure scientific-0.3.6.2: copy/register exceptions-0.10.2: copy/register comonad-5.0.5: build regex-posix-0.95.2: configure regex-posix-0.95.2: build hslogger-1.2.12: configure hslogger-1.2.12: build streaming-commons-0.2.1.0: configure streaming-commons-0.2.1.0: build fsnotify-0.3.0.1: configure comonad-5.0.5: copy/register haskeline-0.7.5.0: copy/register fsnotify-0.3.0.1: build attoparsec-0.13.2.2: configure hslogger-1.2.12: copy/register attoparsec-0.13.2.2: build safe-exceptions-0.1.7.0: configure regex-posix-0.95.2: copy/register unordered-containers-0.2.9.0: copy/register safe-exceptions-0.1.7.0: build resourcet-1.2.2: configure fsnotify-0.3.0.1: copy/register resourcet-1.2.2: build bifunctors-5.5.4: configure safe-exceptions-0.1.7.0: copy/register bifunctors-5.5.4: build haskell-dap-0.0.13.0: configure haskell-dap-0.0.13.0: build regex-compat-0.95.1: configure resourcet-1.2.2: copy/register streaming-commons-0.2.1.0: copy/register regex-compat-0.95.1: build regex-compat-0.95.1: copy/register MissingH-1.4.1.0: configure MissingH-1.4.1.0: build bifunctors-5.5.4: copy/register profunctors-5.3: configure profunctors-5.3: build semigroupoids-5.3.2: configure semigroupoids-5.3.2: build profunctors-5.3: copy/register invariant-0.5.3: configure vector-algorithms-0.8.0.1: copy/register invariant-0.5.3: build mono-traversable-1.0.11.0: configure MissingH-1.4.1.0: copy/register mono-traversable-1.0.11.0: build semigroupoids-5.3.2: copy/register attoparsec-0.13.2.2: copy/register free-4.12.4: configure invariant-0.5.3: copy/register free-4.12.4: build aeson-1.4.2.0: configure
aeson-1.4.2.0: build
mono-traversable-1.0.11.0: copy/register
haskell-dap-0.0.13.0: copy/register
aeson-1.4.2.0: copy/register
Progress 64/71
-- While building package free-4.12.4 using:
/Users/ur20980/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.5 --builddir=.stack-work/dist/x86_64-osx/Cabal-2.4.0.1 build --ghc-options " -ddump-hi -ddump-to-file -fdiagnostics-color=always"
Process exited with code: ExitFailure 1
Logs have been written to: /Users/ur20980/.stack/global-project/.stack-work/logs/free-4.12.4.log
Configuring free-4.12.4...
Preprocessing library for free-4.12.4..
Building library for free-4.12.4..
[ 1 of 16] Compiling Control.Alternative.Free ( src/Control/Alternative/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Alternative/Free.o )
/private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Alternative/Free.hs:34:1: warning: [-Wunused-imports]
The import of ‘Data.Semigroup’ is redundant
except perhaps to import instances from ‘Data.Semigroup’
To import instances alone, use: import Data.Semigroup()
|
34 | import Data.Semigroup
| ^^^^^^^^^^^^^^^^^^^^^
[ 2 of 16] Compiling Control.Alternative.Free.Final ( src/Control/Alternative/Free/Final.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Alternative/Free/Final.o )
/private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Alternative/Free/Final.hs:25:1: warning: [-Wunused-imports]
The import of ‘Data.Semigroup’ is redundant
except perhaps to import instances from ‘Data.Semigroup’
To import instances alone, use: import Data.Semigroup()
|
25 | import Data.Semigroup
| ^^^^^^^^^^^^^^^^^^^^^
[ 3 of 16] Compiling Control.Applicative.Free ( src/Control/Applicative/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Free.o )
[ 4 of 16] Compiling Control.Applicative.Free.Final ( src/Control/Applicative/Free/Final.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Free/Final.o )
[ 5 of 16] Compiling Control.Applicative.Trans.Free ( src/Control/Applicative/Trans/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Trans/Free.o )
[ 6 of 16] Compiling Control.Comonad.Cofree.Class ( src/Control/Comonad/Cofree/Class.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Cofree/Class.o )
[ 7 of 16] Compiling Control.Comonad.Cofree ( src/Control/Comonad/Cofree.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Cofree.o )
[ 8 of 16] Compiling Control.Comonad.Trans.Cofree ( src/Control/Comonad/Trans/Cofree.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Trans/Cofree.o )
/private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Comonad/Trans/Cofree.hs:46:1: warning: [-Wunused-imports]
The import of ‘Data.Semigroup’ is redundant
except perhaps to import instances from ‘Data.Semigroup’
To import instances alone, use: import Data.Semigroup()
|
46 | import Data.Semigroup
| ^^^^^^^^^^^^^^^^^^^^^
[ 9 of 16] Compiling Control.Comonad.Trans.Coiter ( src/Control/Comonad/Trans/Coiter.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Trans/Coiter.o )
[10 of 16] Compiling Control.Monad.Free.Class ( src/Control/Monad/Free/Class.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/Class.o )
[11 of 16] Compiling Control.Monad.Free.TH ( src/Control/Monad/Free/TH.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/TH.o )
[12 of 16] Compiling Control.Monad.Trans.Free ( src/Control/Monad/Trans/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Free.o )
/private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Free.hs:72:1: warning: [-Wunused-imports]
The import of ‘Data.Monoid’ is redundant
except perhaps to import instances from ‘Data.Monoid’
To import instances alone, use: import Data.Monoid()
|
72 | import Data.Monoid
| ^^^^^^^^^^^^^^^^^^
[13 of 16] Compiling Control.Monad.Free ( src/Control/Monad/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free.o )
[14 of 16] Compiling Control.Monad.Free.Church ( src/Control/Monad/Free/Church.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/Church.o )
[15 of 16] Compiling Control.Monad.Trans.Free.Church ( src/Control/Monad/Trans/Free/Church.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Free/Church.o )
/private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Free/Church.hs:83:10: warning: [-Wsimplifiable-class-constraints]
• The constraint ‘Eq (FreeT f m a)’ matches an instance declaration
instance [safe] Eq (m (FreeF f a (FreeT f m a))) =>
Eq (FreeT f m a)
-- Defined at src/Control/Monad/Trans/Free.hs:182:1
This makes type inference for inner bindings fragile;
either use MonoLocalBinds, or simplify it using the instance
• In the context: (Functor f, Monad m, Eq (FreeT f m a))
While checking an instance declaration
In the instance declaration for ‘Eq (FT f m a)’
|
83 | instance (Functor f, Monad m, Eq (FreeT f m a)) => Eq (FT f m a) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Free/Church.hs:86:10: warning: [-Wsimplifiable-class-constraints]
• The constraint ‘Ord (FreeT f m a)’
matches an instance declaration
instance [safe] Ord (m (FreeF f a (FreeT f m a))) =>
Ord (FreeT f m a)
-- Defined at src/Control/Monad/Trans/Free.hs:187:1
This makes type inference for inner bindings fragile;
either use MonoLocalBinds, or simplify it using the instance
• In the context: (Functor f, Monad m, Ord (FreeT f m a))
While checking an instance declaration
In the instance declaration for ‘Ord (FT f m a)’
|
86 | instance (Functor f, Monad m, Ord (FreeT f m a)) => Ord (FT f m a) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[16 of 16] Compiling Control.Monad.Trans.Iter ( src/Control/Monad/Trans/Iter.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Iter.o )
/private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Iter.hs:391:10: error:
• Could not deduce (Semigroup (IterT m a))
arising from the superclasses of an instance declaration
from the context: (Monad m, Monoid a)
bound by the instance declaration
at src/Control/Monad/Trans/Iter.hs:391:10-50
• In the instance declaration for ‘Monoid (IterT m a)’
|
391 | instance (Monad m, Monoid a) => Monoid (IterT m a) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$
Never mind - it was stuck at a specific level in ~/.stack/global-project/stack.yaml
. Probably something previously-installed needed it. I removed that line, and free-5.1.1
got installed. Build succeeded.
How often should one clean up ~/.stack/global-project/stack.yaml
, removing extra-deps:
from it?
On windows, I don't edit global stack.yaml. Just edit stack.yaml in the stack project folder.
Very rarely, editing global stack.yaml, but only define resolver lts. (although in my case.)
Regards.
Also, your README says to add --with-ghc=haskell-dap
flag to ghciCmd
variable. Is this still recommended/required?
Also, your README says to add --with-ghc=haskell-dap flag to ghciCmd variable. Is this still recommended/required?
Yes. Current version, phoityne-vscode + haskell-dap is recommended.
And next version(preparing), going to be haskell-debug-adapter + ghci-dap (--with-ghc=ghci-dap)
Regards
Alas, --with-ghc=haskell-dap
does not work with the current code. Please see https://github.com/phoityne/haskell-debug-adapter/issues/6 - let's continue this conversation there.
Thanks!
MacOS 10.14.4, Xcode-10.2.1, ghcup-installed GHC-8.6.5 (have other versions, if necessary).
Following the above recommendation and adding
haskell-dap
to~/.stack/global-project/stack.yaml
leads to Monad problem infree-4.12.4
: