GaloisInc / cryptol

Cryptol: The Language of Cryptography
https://galoisinc.github.io/cryptol/master/RefMan.html
BSD 3-Clause "New" or "Revised" License
1.14k stars 126 forks source link

Support building with GHC 9.8 #1665

Closed RyanGlScott closed 6 months ago

RyanGlScott commented 6 months ago

This patch:

Fixes https://github.com/GaloisInc/cryptol/issues/1624.

RyanGlScott commented 6 months ago

A mysterious failure in the Cryptol / test (test-lib, ffi, windows-2019, false) job here, which deserves a closer look:

  tests:
    ffi:
      ffi-fallback-rec.icry: [OK]
      ffi-fallback.icry: [OK]
      ffi-header.icry: [OK]
      ffi-no-dup.icry: [OK]
      ffi-no-functor.icry: [OK]
      ffi-reload.icry: [OK]
      ffi-runtime-errors.icry: [OK]
      ffi-type-errors.icry: [OK]
      test-ffi.icry: [Failed]
39,45d38
< (ratio 2 1)
< [(ratio 4 1), (ratio 1 4)]
< ((ratio 37 1), 72)
< 2
< 0
< 1
< 0x48

# If output is OK:
cp D:\a\cryptol\cryptol\output\.\tests\ffi\test-ffi.icry.stdout \
     D:\a\cryptol\cryptol\tests\ffi\test-ffi.icry.stdout.mingw32

         Test Cases  Total 
 Passed  8           8     
 Failed  1           1     
 Total   9           9     
Error: Process completed with exit code 1.
RyanGlScott commented 6 months ago

Another error, uncovered when building the cryptol-remote-api Docker image (here):

125.8 make --no-print-directory -f ghc.mk phase=0 phase_0_builds
125.8 ghc.mk:141: *** The make build system requires a boot compiler older than ghc-9.2. Your boot compiler is too new and cannot be used to build ghc-9.4 with make. Either boot with ghc 9.0.2 or build with hadrian. See https://www.haskell.org/ghc/blog/20220805-make-to-hadrian.html for advice on transitioning to hadrian..  Stop.
125.8 make: *** [Makefile:124: all] Error 2