ndmitchell / hlint

Haskell source code suggestions
Other
1.48k stars 195 forks source link

hlint-3.8 fails to build with ghc-9.6.6 #1621

Closed laleanor closed 4 days ago

laleanor commented 4 days ago

I'm attempting to install hlint-3.8 from MacPorts (which has ghc-9.6.6); the build fails with a few different errors. Log: hlint-build.log

shayne-fletcher commented 4 days ago

hlint-3.8 uses a ghc-9.8 parse tree so ghc-9.6.6 is certainly a valid build compiler. in the case ghc-9.6.6 is the build compiler, hlint by default build-depends on ghc-lib-parser >= 9.8 (https://hackage.haskell.org/package/hlint-3.8/src/hlint.cabal) (since the ghc-lib flag defaults to True):

    if !flag(ghc-lib) && impl(ghc >= 9.8.1) && impl(ghc < 9.9.0)
      build-depends:
        ghc == 9.8.*,
        ghc-boot-th,
        ghc-boot
    else
      build-depends:
          ghc-lib-parser == 9.8.*
    build-depends:
        ghc-lib-parser-ex >= 9.8.0.0 && < 9.8.1

the errors we observe indicate that hlint is linking a version of ghc-lib-parser outside the range >= 9.8, < 9.9 or linking native ghc libs for a non 9.8 build compiler. neither of these two things makes any sense given the information at hand.

are there flags being passed to cabal install that haven't been mentioned? oops, you mentioned "macports" (the hlint team here don't do anything specifically related to that) - perhaps there's an issue tracker for macports where this ticket might be better raised?

all things considered, sounds like installing from hackage might workaround? perhaps try cabal install hlint and let us know how that goes!

laleanor commented 4 days ago

Well duh, should have tried that first. cabal-install builds it just fine. I'll dive into the macports files and report to their bug tracker. Thank you :)