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

SAWScript doesn't build with GHC 9.4.4 #1852

Closed
ramsdell opened this issue Apr 7, 2023 · 1 comment · Fixed by #1860
Closed

SAWScript doesn't build with GHC 9.4.4 #1852

ramsdell opened this issue Apr 7, 2023 · 1 comment · Fixed by #1860
Labels
dependencies Pull requests that update a dependency file upstream

Comments

@ramsdell
Copy link

ramsdell commented Apr 7, 2023

I know you don't promise to handle GHC 9.4.4, but here is what happens.

ramsdell@MM270114-PC ~ % cd rep/saw-script/
cd rep/saw-script/
ramsdell@MM270114-PC saw-script % ghc --version
ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.4.4
ramsdell@MM270114-PC saw-script % ./build.sh 
./build.sh 
HEAD is now at b88cbfc Merge pull request #8 from RyanGlScott/saw-T1742
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: aig-0.2.6 (user goal)
[__1] trying: base-4.17.0.0/installed-4.17.0.0 (dependency of aig)
[__2] next goal: argo (user goal)
[__2] rejecting: argo-0.2022.8.28, argo-0.2022.2.27, argo-0.2022.2.23,
argo-0.2022.2.2, argo-0.2022.1.15, argo-0.2021.11.13, argo-0.2021.11.11,
argo-0.2021.11.7, argo-0.2021.11.2, argo-0.2021.10.24, argo-0.2021.10.19,
argo-0.2021.10.18, argo-0.2021.10.17, argo-0.2021.10.13, argo-0.2021.10.12
(constraint from user target requires ==0.1.0.0)
[__2] rejecting: argo-0.1.0.0 (conflict: base==4.17.0.0/installed-4.17.0.0,
argo => base>=4.11.1.0 && <4.17)
[__2] fail (backjumping, conflict set: argo, base)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, argo, aig

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-aclpsvXx] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-aclpsvXx] source_file ... target_directory
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-aclpsvXx] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-aclpsvXx] source_file ... target_directory
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-aclpsvXx] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-aclpsvXx] source_file ... target_directory

COPIED EXECUTABLES TO /Users/ramsdell/rep/saw-script/bin.
ramsdell@MM270114-PC saw-script % 
@RyanGlScott RyanGlScott added dependencies Pull requests that update a dependency file upstream labels Apr 7, 2023
@RyanGlScott
Copy link
Contributor

Indeed, this is something that we are currently working to support. We have a couple of dependencies that we need to update to support GHC 9.4 first.

RyanGlScott added a commit that referenced this issue Apr 19, 2023
This contains a variety of tweaks needed to build SAW with GHC 9.4:

* GHC 9.4 is more conservative about inferring superclass constraints that arise
  from functional dependencies (see [this
  section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#constraints-derived-from-superclasses)
  of the GHC 9.4 Migration Guide), so we must add explicit `m ~ Identity`
  constraints to certain parts of `heapster-saw` to make it compile with GHC
  9.4.
* I raised the upper version bounds on `aeson` and `vector` to allow building
  them with GHC 9.4.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `argo`: #193
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `language-sally`: GaloisInc/language-sally#13
  * `macaw`: GaloisInc/macaw#330
  * `parameterized-utils`: GaloisInc/parameterized-utils#146

Fixes #1852.
RyanGlScott added a commit that referenced this issue May 26, 2023
This contains a variety of tweaks needed to build SAW with GHC 9.4:

* GHC 9.4 is more conservative about inferring superclass constraints that arise
  from functional dependencies (see [this
  section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#constraints-derived-from-superclasses)
  of the GHC 9.4 Migration Guide), so we must add explicit `m ~ Identity`
  constraints to certain parts of `heapster-saw` to make it compile with GHC
  9.4.
* I raised the upper version bounds on `aeson` and `vector` to allow building
  them with GHC 9.4.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `argo`: #193
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `language-sally`: GaloisInc/language-sally#13
  * `macaw`: GaloisInc/macaw#330
  * `parameterized-utils`: GaloisInc/parameterized-utils#146

Fixes #1852.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file upstream
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants