Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LiquidHaskell fails to build in stack project #1886

Closed
njayinthehouse opened this issue Oct 16, 2021 · 3 comments
Closed

LiquidHaskell fails to build in stack project #1886

njayinthehouse opened this issue Oct 16, 2021 · 3 comments

Comments

@njayinthehouse
Copy link

Attempting to build a stack project with liquid-base 4.15.0 and liquidhaskell 0.8.10.2 first demands the following be added to the extra-deps in stack.yaml.

  - liquid-base-4.15.0.0@sha256:a28cc9217966f18ef02f9b7e7c060f7682187e2c37ca20ce80088cc28860eb35,9129
  - liquidhaskell-0.8.10.2@sha256:fc79e92fc4de0aec47965e457915ef7a5be9fd1d3ec1d3a681a9909f5286bf8f,15777
  - Cabal-3.2.1.0@sha256:8743076ec022296f9771d962000c9ca3a0fe02e68c37b992c63e382a675f791d,27482
  - Diff-0.3.4@sha256:5ab20a407f9e65d13b642c3cd414906a40280343a31b388f6ed69b9228fe42c1,1127
  - aeson-1.5.6.0@sha256:72c170b9fa0a4d1eaf47098902c621d0d95331cda1ebc4d86582bd557756b3ff,6791
  - cereal-0.5.8.1@sha256:37cb7a78c84412e94592a658768320c41f015f2b8707a433de835afb8ebc18d7,2767
  - cmdargs-0.10.21@sha256:a347cf8a16af30b9d8378209de0d1b7ac2b7b39e3af5d384383d8ef82315b37f,4241
  - data-default-0.7.1.1@sha256:2804e8d14f521a1edee88b68b66347448e7f3b685868290fdc55930e4471f5a9,645
  - extra-1.7.10@sha256:e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5,2691
  - fingertree-0.1.4.2@sha256:b368fda61b14073bd798f45c8fa91e1c5331628193a8b88d93fb5a4341849c64,2063
  - ghc-paths-0.1.0.12@sha256:afdfdb6584f39e821b2b7130e12007bf3ad87401d86f5105eead059c150dc81d,657
  - githash-0.1.6.2@sha256:9a136fa54b3e71e7a90d9dcb62259ffe6d55d083556ab2f15027dd4a4109d41d,1527
  - gitrev-1.3.1@sha256:1d0b2d34bee761865fc22bd022f32890e1b561dfac62a1f31a4fe6220a0d1e58,1186
  - hashable-1.3.4.1@sha256:838e92f704bfdafc33246ac5deb8d71e79a21a4c57079b2d0b9a6a5e7e48f480,4193
  - hscolour-1.24.4@sha256:3a329fa0ea9138f651088f1fa25522aabeab0eb591932d3fd56c66736bbe78be,1682
  - liquid-fixpoint-0.8.10.2@sha256:1646c4cc5f81349356a0d37bd3c8f4db74ced9e1707a2e19915c8d2fa6ae9e43,7306
  - liquid-ghc-prim-0.7.0@sha256:8d99d771235d388ed54393faa2712c880e60b659fa574877fc5f383d4d49f4ed,1763
  - optics-0.4@sha256:9fb69bf0195b8d8f1f8cd0098000946868b8a3c3ffb51e5b64f79fc600c3eb4c,6568
  - optparse-applicative-0.15.1.0@sha256:29ff6146aabf54d46c4c8788e8d1eadaea27c94f6d360c690c5f6c93dac4b07e,4810
  - optparse-simple-0.1.1.4@sha256:833326c18a91f7d09e94167b39936835c772b40edf31ee6368da1ced7e1a2e8d,1851
  - split-0.2.3.4@sha256:a6df9c3e806ee7cb50bc980a183fc1156f35022a39430dabac0bf9456fe18a4b,2647
  - syb-0.7.2.1@sha256:bf42655a213402215299e435c52f799e76cbec0b984cd7153d6b9af8a1c0803f,3815
  - temporary-1.3@sha256:3a66c136f700dbf42f3c5000ca93e80b26dead51e54322c83272b236c1ec8ef1,1485
  - unordered-containers-0.2.14.0@sha256:2fe789f78246b7c7ec10d7b85c72d898a9f72fdda5b60d581e839d21016bc628,4992
  - vector-0.12.3.1@sha256:672884b271c15501f1398dc1755c435d3659cf9aa77144c0316d055b5fbdfa82,7932

After adding those extra dependencies, it fails with this:

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for Cabal-3.2.1.0:
    base-4.15.0.0 from stack configuration does not match >=4.6 && <4.15  (latest
                  matching version is 4.14.3.0)
needed due to mergesort-0.1.0.0 -> Cabal-3.2.1.0

In the dependencies for aeson-1.5.6.0:
    attoparsec must match >=0.13.2.2 && <0.15, but the stack configuration has no
               specified version  (latest matching version is 0.14.1)
    base-compat-batteries must match >=0.10.0 && <0.13, but the stack configuration
                          has no specified version  (latest matching version
                          is 0.12.0)
    data-fix must match >=0.3 && <0.4, but the stack configuration has no specified
             version  (latest matching version is 0.3.2)
    dlist must match >=0.8.0.4 && <1.1, but the stack configuration has no specified
          version  (latest matching version is 1.0)
    primitive must match >=0.7.0.1 && <0.8, but the stack configuration has no
              specified version  (latest matching version is 0.7.2.0)
    scientific must match >=0.3.6.2 && <0.4, but the stack configuration has no
               specified version  (latest matching version is 0.3.7.0)
    strict must match >=0.4 && <0.5, but the stack configuration has no specified
           version  (latest matching version is 0.4.0.1)
    tagged must match >=0.8.6 && <0.9, but the stack configuration has no specified
           version  (latest matching version is 0.8.6.1)
    th-abstraction must match >=0.2.8.0 && <0.5, but the stack configuration has no
                   specified version  (latest matching version is 0.4.3.0)
    these must match >=1.1 && <1.2, but the stack configuration has no specified
          version  (latest matching version is 1.1.1.1)
    time-compat must match >=1.9.4 && <1.10, but the stack configuration has no
                specified version  (latest matching version is 1.9.6.1)
    uuid-types must match >=1.0.3 && <1.1, but the stack configuration has no
               specified version  (latest matching version is 1.0.5)
needed due to mergesort-0.1.0.0 -> aeson-1.5.6.0

In the dependencies for data-default-0.7.1.1:
    data-default-class must match >=0.1.2.0, but the stack configuration has no
                       specified version  (latest matching version is 0.1.2.0)
    data-default-instances-containers needed, but the stack configuration has no
                                      specified version  (latest matching version
                                      is 0.0.1)
    data-default-instances-dlist needed, but the stack configuration has no specified
                                 version  (latest matching version is 0.0.1)
    data-default-instances-old-locale needed, but the stack configuration has no
                                      specified version  (latest matching version
                                      is 0.0.1)
needed due to mergesort-0.1.0.0 -> data-default-0.7.1.1

In the dependencies for extra-1.7.10:
    clock must match >=0.7, but the stack configuration has no specified version 
          (latest matching version is 0.8.2)
needed due to mergesort-0.1.0.0 -> extra-1.7.10

In the dependencies for githash-0.1.6.2:
    th-compat needed, but the stack configuration has no specified version  (latest
              matching version is 0.1.3)
needed due to mergesort-0.1.0.0 -> githash-0.1.6.2

In the dependencies for gitrev-1.3.1:
    base-compat must match >=0.6.0, but the stack configuration has no specified
                version  (latest matching version is 0.12.0)
needed due to mergesort-0.1.0.0 -> gitrev-1.3.1

In the dependencies for liquid-fixpoint-0.8.10.2:
    ansi-terminal needed, but the stack configuration has no specified version 
                  (latest matching version is 0.11)
    ascii-progress must match >=0.3, but the stack configuration has no specified
                   version  (latest matching version is 0.3.3.0)
    async needed, but the stack configuration has no specified version  (latest
          matching version is 2.2.4)
    attoparsec needed, but the stack configuration has no specified version  (latest
               matching version is 0.14.1)
    boxes needed, but the stack configuration has no specified version  (latest
          matching version is 0.1.5)
    fgl needed, but the stack configuration has no specified version  (latest
        matching version is 5.7.0.3)
    intern needed, but the stack configuration has no specified version  (latest
           matching version is 0.9.4)
    parallel needed, but the stack configuration has no specified version  (latest
             matching version is 3.2.2.0)
    text-format needed, but the stack configuration has no specified version  (latest
                matching version is 0.3.2)
needed due to mergesort-0.1.0.0 -> liquid-fixpoint-0.8.10.2

In the dependencies for optics-0.4:
    optics-core must match >=0.4 && <0.4.1, but the stack configuration has no
                specified version  (latest matching version is 0.4)
    optics-extra must match >=0.4 && <0.4.1, but the stack configuration has no
                 specified version  (latest matching version is 0.4)
    optics-th must match >=0.4 && <0.4.1, but the stack configuration has no
              specified version  (latest matching version is 0.4)
needed due to mergesort-0.1.0.0 -> optics-0.4

In the dependencies for optparse-applicative-0.15.1.0:
    ansi-wl-pprint must match >=0.6.8 && <0.7, but the stack configuration has no
                   specified version  (latest matching version is 0.6.9)
    transformers-compat must match >=0.3 && <0.7, but the stack configuration has no
                        specified version  (latest matching version is 0.6.6)
needed due to mergesort-0.1.0.0 -> optparse-applicative-0.15.1.0

In the dependencies for optparse-simple-0.1.1.4:
    th-compat needed, but the stack configuration has no specified version  (latest
              matching version is 0.1.3)
needed due to mergesort-0.1.0.0 -> optparse-simple-0.1.1.4

In the dependencies for temporary-1.3:
    random must match >=1.1, but the stack configuration has no specified version 
           (latest matching version is 1.2.1)
needed due to mergesort-0.1.0.0 -> temporary-1.3

In the dependencies for vector-0.12.3.1:
    primitive must match >=0.6.4.0 && <0.8, but the stack configuration has no
              specified version  (latest matching version is 0.7.2.0)
needed due to mergesort-0.1.0.0 -> vector-0.12.3.1

Some different approaches to resolving this:

  * Build requires unattainable version of base. Since base is a part of GHC, you
    most likely need to use a different GHC version with the matching base.

Plan construction failed.

There seems to be a conflict between the base required for some packages and the base 4.15.0 required for liquid-base. Any hints on how I can get around this?

@njayinthehouse
Copy link
Author

This happens with both ghc-9.0.1 and ghc-8.10.7 (specified as resolver in stack.yaml).

@ranjitjhala
Copy link
Member

Can you send a link to whatever repo you're trying to build?

@njayinthehouse
Copy link
Author

I should've closed this earlier, I found out that stack doesn't support ghc 9+ and with cabal it worked fine after some tweaking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants