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

handle alex == 3.5.2.0 and ghc-9.8.4 fixes #286

Closed
wants to merge 6 commits into from

Conversation

shayne-fletcher
Copy link
Owner

@shayne-fletcher shayne-fletcher commented Dec 31, 2024

(commit 245912d): alex-3.5.2.0 was released to hackage on 2024-12-30. it produces errors like this

compiler/GHC/Parser/Lexer.x:3471:12: error: [GHC-31744]
    Duplicate INLINE pragmas for ‘alexScanUser’
    at /home/runner/work/ghc-lib/ghc-lib/dist-newstyle/build/x86_64-linux/ghc-9.10.1/ghc-lib-parser-0.20241231/build/GHC/Parser/Lexer.hs:1383:12-23
       compiler/GHC/Parser/Lexer.x:3471:12-23
     |
3471 | -- in this file, alexScanUser gets broken out into a separate function and
     |            ^^^^^^^^^^^^

on flavors >= ghc-9.12.1 e.g. https://github.com/digital-asset/ghc-lib/actions/runs/12553438884. verified that this is a problem for GHC too. see haskell/alex#266

(commit 81196e9): two more fixes relating to 9.8.4 as a build compiler

  • hide os-string during calculating parser module deps in ghc-lib-gen to avoid ambiguity with filepath
  • avoid link errors resulting from duplicate symbol definitions from 'genSym.c'

(commit 27e2421): add an exclusion to ghc-lib's hs-src dirs

(commit 29ca22c): haskell-hvr/cryptohash-sha256#25 got closed enabling us to remove the extra hadrian cabal flags from 'Ghclibgen.hs' and ghcup now serves ghc-9.12.1 so, move ghc-lib-ghc-HEAD-ghc-9.10.1.yml to ghc-lib-ghc-HEAD-ghc-9.12.1.yml, ghc-lib-ghc-master-ghc-9.10.1.yml to ghc-lib-ghc-master-ghc-9.12.1.yml (updating the build compiler to ghc-9.12.1 accordingly) and update the README build badge (after landing this it's probably necessary to modify the repository "required test" settings).

(commit 5ea361c): remove {-# INLINE alexScanUser #-} from Lexer.x to enable alex-3.5.2.0 and unblock stackage (see https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13782#note_602621 for details)

@shayne-fletcher shayne-fletcher force-pushed the alex-3.5.2.0-workaround branch 2 times, most recently from 849169f to c551534 Compare December 31, 2024 04:22
@shayne-fletcher shayne-fletcher changed the title restrict alex < 3.5.2.0 restrict alex < 3.5.2.0 and ghc-9.8.4 fixes Jan 3, 2025
@shayne-fletcher shayne-fletcher changed the title restrict alex < 3.5.2.0 and ghc-9.8.4 fixes handle alex == 3.5.2.0 and ghc-9.8.4 fixes Jan 5, 2025
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 this pull request may close these issues.

1 participant