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

Support ghc 9.8 #1624

Closed
chenrui333 opened this issue Feb 6, 2024 · 5 comments · Fixed by #1665
Closed

Support ghc 9.8 #1624

chenrui333 opened this issue Feb 6, 2024 · 5 comments · Fixed by #1665

Comments

@chenrui333
Copy link

While upgrading cryptol to the latest release 3.1.0, but run into some build issue. The error log is as below:

error build log
  ==> cabal v2-install --jobs=6 --max-backjumps=100000 --install-method=copy --installdir=/usr/local/Cellar/cryptol/3.1.0/bin
  Error: cabal: Could not resolve dependencies:
  [__0] trying: cryptol-3.1.0 (user goal)
  [__1] next goal: sbv (dependency of cryptol)
  [__1] rejecting: sbv-10.3 (conflict: cryptol => sbv>=9.1 && <10.3)
  [__1] trying: sbv-10.2
  [__2] next goal: base (dependency of cryptol)
  [__2] rejecting: base-4.19.0.0/installed-inplace (conflict: sbv => base>=4.16
  && <4.19)
  [__2] skipping: base-4.19.0.0 (has the same characteristics that caused the
  previous version to fail: excluded by constraint '>=4.16 && <4.19' from 'sbv')
  [__2] rejecting: base-4.18.2.0, base-4.18.1.0, base-4.18.0.0, base-4.17.2.1,
  base-4.17.2.0, base-4.17.1.0, base-4.17.0.0, base-4.16.4.0, base-4.16.3.0,
  base-4.16.2.0, base-4.16.1.0, base-4.16.0.0, base-4.15.1.0, base-4.15.0.0,
  base-4.14.3.0, base-4.14.2.0, base-4.14.1.0, base-4.14.0.0, base-4.13.0.0,
  base-4.12.0.0, base-4.11.1.0, base-4.11.0.0, base-4.10.1.0, base-4.10.0.0,
  base-4.9.1.0, base-4.9.0.0, base-4.8.2.0, base-4.8.1.0, base-4.8.0.0,
  base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1, base-4.6.0.0,
  base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0, base-4.3.1.0,
  base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0, base-4.1.0.0,
  base-4.0.0.0, base-3.0.3.2, base-3.0.3.1 (constraint from non-upgradeable
  package requires installed instance)
  [__2] fail (backjumping, conflict set: base, cryptol, sbv)
  After searching the rest of the dependency tree exhaustively, these were the
  goals I've had most trouble fulfilling: sbv, base, cryptol

full build log, https://github.com/Homebrew/homebrew-core/actions/runs/7792604623/job/21258072823
relates to Homebrew/homebrew-core#161909

@RyanGlScott
Copy link
Contributor

RyanGlScott commented Feb 6, 2024

Indeed, Cryptol does not yet support GHC 9.8. We still need to update a handful of dependencies (most notably, what4—see GaloisInc/what4#255) to be compatible with GHC 9.8.

@LeventErkok
Copy link
Contributor

LeventErkok commented Feb 24, 2024

@RyanGlScott Suffering from the same here (using GHC 9.8.1)

src/Cryptol/Eval/FFI/GenHeader.hs:97:13: error: [GHC-87543]
    Ambiguous occurrence ‘unzip’.
    It could refer to
       either ‘Data.List.unzip’,
              imported from ‘Data.List’ at src/Cryptol/Eval/FFI/GenHeader.hs:14:1-26
              (and originally defined in ‘GHC.List’),
           or ‘Data.Functor.unzip’,
              imported from ‘Data.Functor’ at src/Cryptol/Eval/FFI/GenHeader.hs:12:1-29.
   |
97 |   (fs,ts) = unzip (displayFields tMap)
   |             ^^^^^

And looking at the build-log, it looks like all the dependencies (including what4) compiled fine anyhow. So, it seems just cryptol itself that needs some fixes.

@RyanGlScott
Copy link
Contributor

what4 does technically compile with GHC 9.8, but it produces various warnings due to additions to -Wall in 9.8. We are working to address this in GaloisInc/what4#255.

@chenrui333
Copy link
Author

@RyanGlScott looks like the what4 pr got merged, any chance of progressing on this issue? Thanks!

@RyanGlScott
Copy link
Contributor

what4-1.6 (which supports GHC 9.8) has been released to Hackage, so the next step is to update cryptol's .cabal file to make use of it.

RyanGlScott added a commit that referenced this issue May 20, 2024
This patch:

* Tightens up imports in `Cryptol.Eval.FFI.GenHeader` to avoid importing two
  different versions of `unzip` (note that GHC 9.8 defines `unzip` in
  `Data.Functor`, which is different from the version defined in `Data.List`).
* Bumps the upper version bounds on various dependencies (`base`, `sbv`, etc.)
  to support versions that are compatible with GHC 9.8.

Fixes #1624.
RyanGlScott added a commit that referenced this issue May 22, 2024
This patch:

* Tightens up imports in `Cryptol.Eval.FFI.GenHeader` to avoid importing two
  different versions of `unzip` (note that GHC 9.8 defines `unzip` in
  `Data.Functor`, which is different from the version defined in `Data.List`).
* Bumps the upper version bounds on various dependencies (`base`, `sbv`, etc.)
  to support versions that are compatible with GHC 9.8.

Fixes #1624.
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

Successfully merging a pull request may close this issue.

3 participants