commercialhaskell / commercialhaskell/stack

stack fails to build transitive dependencies from custom-setup stanza

Open
#5,110 1 comment 0 reactions 0 assignees View on GitHub
component: build component: Cabal library component: extensible-snapshots
Dominant language
Haskell
Stars
4.1k
Forks
850
Avg merge
10h 37m
Merged PRs (30d)
4

Description

First detected: https://github.com/vmchale/libarchive/pull/3

### Steps to reproduce

Run `stack build` in libarchive source directory.

### Expected

`chs-cabal` dependency builds without any problems; `Cabal` is a transitive dependency of `cha-cabal`.

### Actual

```
mwraith:libarchive vmchale$ stack build
libarchive> configure (lib)

Warning: libarchive
has a setup-depends field, but it does not mention a Cabal dependency. This is likely to cause build errors.
[2 of 2] Compiling StackSetupShim ( /Users/vmchale/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /Users/vmchale/dev/haskell/libarchive/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/StackSetupShim.o )

/Users/vmchale/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:3:1: error:
Could not load module ‘Distribution.PackageDescription’
It is a member of the hidden package ‘Cabal-3.0.0.0’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
It is a member of the hidden package ‘Cabal-2.4.0.1’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v to see a list of the files searched for.
|
3 | import Distribution.PackageDescription (PackageDescription, emptyHookedBuildInfo)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/Users/vmchale/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:4:1: error:
Could not load module ‘Distribution.Simple’
It is a member of the hidden package ‘Cabal-3.0.0.0’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
It is a member of the hidden package ‘Cabal-2.4.0.1’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v to see a list of the files searched for.
|
4 | import Distribution.Simple
| ^^^^^^^^^^^^^^^^^^^^^^^^^^

/Users/vmchale/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:5:1: error:
Could not load module ‘Distribution.Simple.Build’
It is a member of the hidden package ‘Cabal-3.0.0.0’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
It is a member of the hidden package ‘Cabal-2.4.0.1’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v to see a list of the files searched for.
|
5 | import Distribution.Simple.Build
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/Users/vmchale/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:6:1: error:
Could not load module ‘Distribution.Simple.Setup’
It is a member of the hidden package ‘Cabal-3.0.0.0’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
It is a member of the hidden package ‘Cabal-2.4.0.1’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v to see a list of the files searched for.
|
6 | import Distribution.Simple.Setup (ReplFlags, fromFlag, replDistPref, replVerbosity)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/Users/vmchale/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs:7:1: error:
Could not load module ‘Distribution.Simple.LocalBuildInfo’
It is a member of the hidden package ‘Cabal-3.0.0.0’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
It is a member of the hidden package ‘Cabal-2.4.0.1’.
You can run ‘:set -package Cabal’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v to see a list of the files searched for.
|
7 | import Distribution.Simple.LocalBuildInfo (LocalBuildInfo)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

-- While building package libarchive-2.1.0.0 using:
/Users/vmchale/.stack/programs/x86_64-osx/ghc-8.6.5/bin/ghc-8.6.5 --make -odir /Users/vmchale/dev/haskell/libarchive/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup -hidir /Users/vmchale/dev/haskell/libarchive/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup -i -i. -clear-package-db -global-package-db -package-db=/Users/vmchale/.stack/snapshots/x86_64-osx/b5d976f631ba63e81b6a75691114f0e6192e3ace90ad9892a73f9f5b5843a116/8.6.5/pkgdb -package-db=/Users/vmchale/dev/haskell/libarchive/.stack-work/install/x86_64-osx/b5d976f631ba63e81b6a75691114f0e6192e3ace90ad9892a73f9f5b5843a116/8.6.5/pkgdb -hide-all-packages -package-id=base-4.12.0.0 -package-id=chs-cabal-0.1.1.0-He2HMedaLBWD6c0QOlmZtg -optP-include -optP/Users/vmchale/dev/haskell/libarchive/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/setup_macros.h /Users/vmchale/dev/haskell/libarchive/Setup.hs /Users/vmchale/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs -main-is StackSetupShim.mainOverride -o /Users/vmchale/dev/haskell/libarchive/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/setup -threaded
Process exited with code: ExitFailure 1
```

stack issues a warning and then fails

### Stack version

```
Version 2.1.3.1 x86_64
Compiled with:
- Cabal-2.4.0.1
- Glob-0.10.0
- StateVar-1.2
- aeson-1.4.6.0
- annotated-wl-pprint-0.7.0
- ansi-terminal-0.10.2
- ansi-wl-pprint-0.6.9
- array-0.5.3.0
- asn1-encoding-0.9.6
- asn1-parse-0.9.5
- asn1-types-0.3.3
- async-2.2.2
- attoparsec-0.13.2.3
- attoparsec-iso8601-1.0.1.0
- auto-update-0.1.6
- base-4.12.0.0
- base-compat-0.11.0
- base-orphans-0.8.1
- base-prelude-1.3
- base16-bytestring-0.1.1.6
- base64-bytestring-1.0.0.2
- basement-0.0.11
- bifunctors-5.5.6
- binary-0.8.6.0
- bitarray-0.0.1.1
- blaze-builder-0.4.1.0
- blaze-html-0.9.1.2
- blaze-markup-0.8.2.3
- bytestring-0.10.8.2
- case-insensitive-1.2.1.0
- cereal-0.5.8.1
- clock-0.8
- colour-2.3.5
- comonad-5.0.6
- conduit-1.3.1.1
- conduit-combinators-1.3.0
- conduit-extra-1.3.4
- connection-0.3.1
- containers-0.6.0.1
- contravariant-1.5.2
- cookie-0.4.5
- cryptohash-sha256-0.11.101.0
- cryptonite-0.26
- cryptonite-conduit-0.2.2
- data-default-class-0.1.2.0
- deepseq-1.4.4.0
- digest-0.0.1.2
- directory-1.3.3.0
- distributive-0.6.1
- dlist-0.8.0.7
- easy-file-0.2.2
- echo-0.1.3
- ed25519-0.0.5.0
- either-5.0.1.1
- exceptions-0.10.3
- extra-1.6.18
- fast-logger-3.0.0
- file-embed-0.0.11
- filelock-0.1.1.4
- filepath-1.4.2.1
- fsnotify-0.3.0.1
- generic-deriving-1.13.1
- ghc-boot-th-8.6.5
- ghc-prim-0.5.3
- githash-0.1.3.3
- hackage-security-0.5.3.0
- hashable-1.3.0.0
- hfsevents-0.1.6
- hi-file-parser-0.1.0.0
- hourglass-0.2.12
- hpack-0.33.0
- hpc-0.6.0.3
- http-api-data-0.4.1.1
- http-client-0.6.4
- http-client-tls-0.3.5.3
- http-conduit-2.3.7.3
- http-download-0.1.0.0
- http-types-0.12.3
- infer-license-0.2.0
- integer-gmp-1.0.2.0
- integer-logarithms-1.0.3
- libyaml-0.1.1.1
- lifted-base-0.2.3.12
- megaparsec-7.0.5
- memory-0.15.0
- microlens-0.4.11.2
- microlens-th-0.4.3.2
- mime-types-0.1.0.9
- mintty-0.1.2
- monad-control-1.0.2.3
- monad-logger-0.3.31
- monad-loops-0.4.3
- mono-traversable-1.0.13.0
- mtl-2.2.2
- mustache-2.3.0
- neat-interpolation-0.3.2.4
- network-3.1.1.1
- network-uri-2.6.1.0
- old-locale-1.0.0.7
- old-time-1.1.0.3
- open-browser-0.2.1.0
- optparse-applicative-0.15.1.0
- optparse-simple-0.1.1.2
- pantry-0.2.0.0
- parsec-3.1.13.0
- parser-combinators-1.2.1
- path-0.6.1
- path-io-1.6.0
- path-pieces-0.2.1
- pem-0.2.4
- persistent-2.10.4
- persistent-sqlite-2.10.5
- persistent-template-2.7.3
- pretty-1.1.3.6
- primitive-0.7.0.0
- process-1.6.5.0
- profunctors-5.5.1
- project-template-0.2.0.1
- random-1.1
- regex-applicative-0.3.3.1
- regex-applicative-text-0.1.0.1
- resource-pool-0.2.3.2
- resourcet-1.2.2
- retry-0.8.1.0
- rio-0.1.12.0
- rio-orphans-0.1.1.0
- rio-prettyprint-0.1.0.0
- rts-1.0
- safe-0.3.17
- safe-exceptions-0.1.7.0
- scientific-0.3.6.2
- semigroupoids-5.3.4
- semigroups-0.19.1
- silently-1.2.5.1
- socks-0.6.1
- split-0.2.3.3
- stm-2.5.0.0
- stm-chans-3.0.0.4
- streaming-commons-0.2.1.1
- syb-0.7.1
- tagged-0.8.6
- tar-0.5.1.1
- tar-conduit-0.3.2
- template-haskell-2.14.0.0
- temporary-1.3
- terminal-size-0.3.2.1
- text-1.2.3.1
- text-metrics-0.3.0
- th-abstraction-0.3.1.0
- th-expand-syns-0.4.5.0
- th-lift-0.8.0.1
- th-lift-instances-0.1.14
- th-orphans-0.13.9
- th-reify-many-0.1.9
- th-utilities-0.2.3.1
- time-1.8.0.2
- time-compat-1.9.2.2
- tls-1.5.2
- transformers-0.5.6.2
- transformers-base-0.4.5.2
- transformers-compat-0.6.5
- typed-process-0.2.6.0
- unicode-transforms-0.3.6
- unix-2.7.2.2
- unix-compat-0.5.2
- unix-time-0.4.7
- unliftio-0.2.12
- unliftio-core-0.1.2.0
- unordered-containers-0.2.10.0
- uuid-types-1.0.3
- vector-0.12.0.3
- vector-algorithms-0.8.0.1
- x509-1.7.5
- x509-store-1.6.7
- x509-system-1.6.6
- x509-validation-1.6.11
- yaml-0.11.2.0
- zip-archive-0.4.1
- zlib-0.6.2.1

Warning: this is an unsupported build that may use different versions of
dependencies and GHC than the officially released binaries, and therefore may
not behave identically. If you encounter problems, please try the latest
official build by running 'stack upgrade --force-download'.
```

### Method of installation

* Via cabal-install

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.