Resolving dependency issue while installing keter vis stack

102 views Asked by At

I am trying to install the keter executable to the implicit "global-project" of stack. I use stack install keter from the directory to do this. When I do so, I get the error.

In the dependencies for keter-1.4.3.2:
    http-reverse-proxy-0.5.0.1 from stack configuration does not match >=0.4.2 && <0.5  (latest matching version is 0.4.5)
    unix-compat-0.5.0.1 from stack configuration does not match >=0.3 && <0.5  (latest matching version is 0.4.3.1)
needed since keter is a build target.

Some different approaches to resolving this:

  * Set 'allow-newer: true' in <$HOME>/.stack/config.yaml to ignore all version constraints and build anyway.

  * Consider trying 'stack solver', which uses the cabal-install solver to attempt to find some working build configuration. This can be convenient when dealing with many complicated
constraint errors, but results may be unpredictable.

  * Recommended action: try adding the following to your extra-deps in <$HOME>/.stack/global-project/stack.yaml:

http-reverse-proxy-0.4.5@sha256:7f2a181ec848e8fdc0bdb4d6e775e488897957ee7ae0a2b82a623360168ccf96
unix-compat-0.4.3.1@sha256:a291f209e9c9723204c49c978ed2c53997dbc9666e53fe7bf7a3548b2c8bb22c

When I follow the recommended action, (i.e., I add the following to /.stack/global-project/stack.yaml):

extra-deps:
  - http-reverse-proxy-0.4.5@sha256:7f2a181ec848e8fdc0bdb4d6e775e488897957ee7ae0a2b82a623360168ccf96
  - unix-compat-0.4.3.1@sha256:a291f209e9c9723204c49c978ed2c53997dbc9666e53fe7bf7a3548b2c8bb22c

I get a different error when I do stack install keter a second time.

Completed 8 action(s).

-- While building package keter-1.4.3.2 using: /.stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0 build --ghc-options " -ddump-hi -ddump-to-file -fdiagnostics-color=always" Process exited with code: ExitFailure 1 Logs have been written to: /.stack/global-project/.stack-work/logs/keter-1.4.3.2.log

Configuring keter-1.4.3.2...
Preprocessing library for keter-1.4.3.2..
Building library for keter-1.4.3.2..
[ 1 of 18] Compiling Codec.Archive.TempTarball ( Codec/Archive/TempTarball.hs, .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/Codec/Archive/TempTarball.o )
[ 2 of 18] Compiling Data.Conduit.LogFile ( Data/Conduit/LogFile.hs, .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/Data/Conduit/LogFile.o )
[ 3 of 18] Compiling Data.Conduit.Process.Unix ( Data/Conduit/Process/Unix.hs, .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/Data/Conduit/Process/Unix.o )

/tmp/stack2837/keter-1.4.3.2/Data/Conduit/Process/Unix.hs:65:20: error:
    • The constructor ‘ProcessHandle’ should have 3 arguments, but has been given 2
    • In the pattern: ProcessHandle m _
      In an equation for ‘processHandleMVar’:
          processHandleMVar (ProcessHandle m _) = m
   |
65 | processHandleMVar (ProcessHandle m _) = m
   |                    ^^^^^^^^^^^^^^^^^

My guess is that keter still ends up trying to use the 0.5* versions when building, which have different signatures and so the build breaks. Any ideas on how to correctly install keter?

Here is some debug information:

`stack exec -- ghc -v`
Glasgow Haskell Compiler, Version 8.2.2, stage 2 booted by GHC version 8.0.2
Using binary package database: <$HOME>/.stack/programs/x86_64-linux/ghc-tinfo6-8.2.2/lib/ghc-8.2.2/package.conf.d/package.cache
Using binary package database: <$HOME>/.stack/snapshots/x86_64-linux-tinfo6/lts-11.5/8.2.2/pkgdb/package.cache
Using binary package database: <$HOME>/.stack/global-project/.stack-work/install/x86_64-linux-tinfo6/lts-11.5/8.2.2/pkgdb/package.cache
package flags []
loading package database <$HOME>/.stack/programs/x86_64-linux/ghc-tinfo6-8.2.2/lib/ghc-8.2.2/package.conf.d
loading package database <$HOME>/.stack/snapshots/x86_64-linux-tinfo6/lts-11.5/8.2.2/pkgdb
loading package database <$HOME>/.stack/global-project/.stack-work/install/x86_64-linux-tinfo6/lts-11.5/8.2.2/pkgdb
wired-in package ghc-prim mapped to ghc-prim-0.5.1.1
wired-in package integer-gmp mapped to integer-gmp-1.0.1.0
wired-in package base mapped to base-4.10.1.0
wired-in package rts mapped to rts
wired-in package template-haskell mapped to template-haskell-2.12.0.0
wired-in package ghc mapped to ghc-8.2.2
wired-in package dph-seq not found.
wired-in package dph-par not found.
*** Deleting temp files:
Deleting:
*** Deleting temp dirs:
Deleting:
ghc: no input files
Usage: For basic information, try the `--help' option.



stack --version
Version 1.9.1, Git revision f9d0042c141660e1d38f797e1d426be4a99b2a3c (6168 commits) x86_64 hpack-0.31.0
0

There are 0 answers