-
Notifications
You must be signed in to change notification settings - Fork 139
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
Can't figure out how to build a project with GHC 9.6.3 #2271
Comments
oops, let me try to update the plugin demo to work with the latest LH! |
That's great, thanks! Is there a general process by which one would do this? That is, If a new LH version that comes out supporting a new GHC version, is there some straightforward way I can update my |
Hi @lylek -- I managed to update the ucsd-progsys/lh-plugin-demo#23 I can't for the life of me figure out the |
The general process is simply pointing stack/cabal.project to the latest GH snapshots for LH/fixpoint (as in the |
This is a bug in the cabal/GHC interaction, which does not allow to register packages which list plugins in As far as I could check, the fix is not in the latest Cabal yet. I backported the workaround and just released it as |
I'm running into the same issue it seems. I followed the repo, but I still get this error on Error: [S-4804]
Stack failed to construct a build plan.
While constructing the build plan, Stack encountered the following errors. The 'Stack configuration' refers to the set of package versions specified by the snapshot (after any dropped packages,
or pruned GHC boot packages; if a boot package is replaced, Stack prunes all other such packages that depend on it) and any extra-deps:
In the dependencies for hashable-1.3.5.0:
* base must match >=4.5 && <4.17, but base-4.18.2.1 is in the Stack configuration (latest matching version is 4.16.4.0).
* ghc-bignum must match >=1.0 && <1.1 || >=1.1 && <1.2 || >=1.2 && <1.3, but ghc-bignum-1.3 is in the Stack configuration (latest matching version is 1.2).
* text must match >=0.12 && <1.3, but text-2.0.2 is in the Stack configuration (latest matching version is 1.2.5.0).
The above is/are needed due to liquid-haskell-tutorial-0.1.0.0 -> hashable-1.3.5.0
In the dependencies for liquid-fixpoint-0.9.0.2.1:
* vector must match <0.13, but vector-0.13.1.0 is in the Stack configuration (latest matching version is 0.12.3.1).
The above is/are needed due to liquid-haskell-tutorial-0.1.0.0 -> liquid-fixpoint-0.9.0.2.1
In the dependencies for liquidhaskell-0.9.2.5.0:
* bytestring must match ==0.11.3.1, but bytestring-0.11.5.3 is in the Stack configuration (latest matching version is 0.11.3.1).
* containers must match ==0.6.5.1, but containers-0.6.7 is in the Stack configuration (latest matching version is 0.6.5.1).
The above is/are needed due to liquid-haskell-tutorial-0.1.0.0 -> liquidhaskell-0.9.2.5.0
In the dependencies for liquidhaskell-boot-0.9.2.5.0:
* Cabal must match <3.7, but Cabal-3.10.3.0 is in the Stack configuration (latest matching version is 3.6.3.0).
* ghc must match ^>=9.2, but ghc-9.6.5 is in the Stack configuration (latest matching version is 9.2.8).
* optparse-applicative must match <0.18, but optparse-applicative-0.18.1.0 is in the Stack configuration (latest matching version is 0.17.1.0).
The above is/are needed due to liquid-haskell-tutorial-0.1.0.0 -> liquidhaskell-boot-0.9.2.5.0
Some different approaches to resolving some or all of this:
* To ignore all version constraints and build anyway, in /home/olaolu/.stack/config.yaml (global configuration) or /home/olaolu/Desktop/labs/liquid-haskell-tutorial/stack.yaml (project-level
configuration), set allow-newer: true.
* To ignore certain version constraints and build anyway, also add these package names under allow-newer-deps: hashable, liquid-fixpoint, liquidhaskell and liquidhaskell-boot.
* Build requires unattainable version of the base package. Since base is a part of GHC, you most likely need to use a different GHC version with the matching base. Using |
Hello @OlaoluwaM! This stack configuration works with |
I'm closing this issue as resolved. But please, feel free to open a new one if builds aren't working for you yet. |
Hi folks,
I'm new to LiquidHaskell. I was able to get the LH Plugin Demo to build and run using
stack
. But I wanted to try making my own project, using GHC 9.6.3. The installation instructions said to add a dependency onliquidhaskell
to your.cabal
file, and to "follow the examples" for how to set up yourstack.yaml
.Well, the LH Plugin Demo's
stack.yaml
references particular commits forliquidhaskell
andliquid-fixpoint
. So I looked up thev0.9.6.3
tag, and copied the commit ID forliquidhaskell
, and used the submodule commit ID forliquid-fixpoint
. But when I build withstack
, it terminated with this error:This is the
stack.yaml
I'm using for my project:In
package.yaml
, I just made sure to set updependencies
like this:I also added
-fplugin=LiquidHaskell
underghc-options
.Since that failed, I tried to work from the other direction. What if I tried to upgrade the LH Plugin Demo to GHC 9.6.3? So I copied that project, and just edited the
stack.yaml
. I used the samestackage
resolver that was set in thestack.yaml
within theliquidhaskell
project (at thev0.9.6.3
tag):That failed to build, but with a different problem...
stack
couldn't construct a build plan:What am I missing? Is there an easier way to figure out how to configure my files? Could someone please add more instructions to the documentation?
Thanks,
Lyle
The text was updated successfully, but these errors were encountered: