haskell / ghcup-metadata

GHCup metadata repository
33 stars 30 forks source link

ABI mismatch with HLS 2.9.0.1 and GHC 9.10.1 #247

Open Kleidukos opened 2 months ago

Kleidukos commented 2 months ago

OS: Fedora Linux 40 Architecture: x86_64 ghcup: 0.1.30.0 GHC: 9.10.1 HLS: 2.9.0.1

When I try to run HLS in a project that I have successfully compiled with GHC 9.10.1, I get the following error message:

GHC ABIs don't match!

Expected: Cabal-3.12.0.0:967fa35cbbdae78a2c461e9405b5d25a Cabal-syntax-3.12.0.0:ec54104944dae4fbb553562b90319871 array-0.5.7.0:45dad86378b1fee21721114999fbbc26 base-4.20.0.0:da593e64c664fd6d29bb4ea966a0f229 binary-0.8.9.2:8ade9ebdd6122f14c5da15156bf2f9a7 bytestring-0.12.1.0:5d1c24190be1c73ce7e42c4cf881d5d7 containers-0.7:978c44c1f25516e9e341d14074887f90 deepseq-1.5.0.0:c142effab65dde98e41148d5d4fcdf85 directory-1.3.8.3:f5f861c8d713ccaf39b4e91a9e17c205 exceptions-0.10.7:0101d3a5453ae7f4bf129888f7445bbe filepath-1.5.2.0:53a8a9df9efc7ad21b03760dab151e16 ghc-9.10.1:51ab5e97a06f8e91d9422a3a61de7596 ghc-bignum-1.3:5dc5c710fff524977a5419b27d09eaf5 ghc-boot-9.10.1:3e9aac6d91109e0019c8080a8a9026c1 ghc-boot-th-9.10.1:b802f4970e869c51ec307f2f15132a3a ghc-compact-0.1.0.0:c777c1b88e926df86e38f320baa51a47 ghc-experimental-0.1.0.0:12e320a685630d6dbd116467656c4ebb ghc-heap-9.10.1:90847e54f46198827501e1b6813de446 ghc-internal-9.1001.0:46dc2d52d1839b0a1e55368a24032c54 ghc-platform-0.1.0.0:d632468661a27b671306024fa001e5eb ghc-prim-0.11.0:510861b10e14dbd8704453ca4166ed14 ghc-toolchain-0.1.0.0:a387f911bef99be81c81368ada144316 ghci-9.10.1:3f7f183d0584ed1b284ced3758746faf haskeline-0.8.2.1:b4773eabbbc0b5851a0762d62adb66cf hpc-0.7.0.1:16bb9831b56c9ddb0d329eb0946f26e5 integer-gmp-1.1:60ea237dbb333add07eb05f1833f7dc1 mtl-2.3.1:d2dd9eb9f0cad3f62f9e84d6a8dede21 os-string-2.0.2:1651b71f11c612ec3e9e1f4d6dbb5a35 parsec-3.1.17.0:5b015ab970569f6c02c8d50a8b45aa09 pretty-1.1.3.6:4b16cd97343319a04f813e711a1fd9b9 process-1.6.19.0:bf07488235164760602ce7d5b0466241 rts-1.0.2:b7a5c6aad95a5a3e4903ce2272ab85e0 semaphore-compat-1.0.0:25e80113af1aa1905cb8327359d029c5 stm-2.5.3.1:0aed620f35dd825416155f7c2a9f14af system-cxx-std-lib-1.0:00000000000000000000000000000000 template-haskell-2.22.0.0:cbfa913a869bb193b814e0963cd0e33a terminfo-0.4.1.6:12f35441d9638625fe9aa41d922e86e7 text-2.1.1:4d4f8f759a0c07a506388ba043e8723e time-1.12.2:b0dc73eb15130c337f95991cd84ab430 transformers-0.6.1.1:6156dcb6a0c426d14c8984fe68c75acc unix-2.8.5.1:3bce04add665867a0450be7ac360ea71 xhtml-3000.2.2.1:380ee3a228323cc33a0c2d11654fe20b

Got:      Cabal-3.12.0.0:691190574143b6939a0e863b3c23106a Cabal-syntax-3.12.0.0:2e0d0c983e04d9bea0558b7a9b5d099d array-0.5.7.0:c0b2c53aab5d14420137a7159d9398af base-4.20.0.0:da593e64c664fd6d29bb4ea966a0f229 binary-0.8.9.2:16705493b775e84e95f8811881e0a12b bytestring-0.12.1.0:6bcf7823b22cc53fdf0a53c80671ae1a containers-0.7:ca71d681e68c09d5609203f6f5222b25 deepseq-1.5.0.0:b4209727fef58a519b5612ef7621c064 directory-1.3.8.3:916e371e7d1117d56af1b29a93e6875e exceptions-0.10.7:22b9c8c3df22969122deccd82a4aba7c filepath-1.5.2.0:ddcad45c613f0b4a0ab07c804d2d0365 ghc-9.10.1:6c0738c30088087ae5d2c9f5a2e68757 ghc-bignum-1.3:5dc5c710fff524977a5419b27d09eaf5 ghc-boot-9.10.1:99cc27a9e3e748c4f724c8e07814edc2 ghc-boot-th-9.10.1:4dc2ef8afb26659f514a2ebba7266524 ghc-compact-0.1.0.0:3d8413fc5f6fca06b57564bfe2e4d674 ghc-experimental-0.1.0.0:12e320a685630d6dbd116467656c4ebb ghc-heap-9.10.1:2f0154e7fc7ee59bdad3797f6f3e5a20 ghc-internal-9.1001.0:46dc2d52d1839b0a1e55368a24032c54 ghc-platform-0.1.0.0:df86cafcb4e4ab71ce92384be0342363 ghc-prim-0.11.0:510861b10e14dbd8704453ca4166ed14 ghc-toolchain-0.1.0.0:e617d5344abaf9c4b37a2d0ada603e25 ghci-9.10.1:783b7ce76eee1f05e95ef56447fab2d4 haskeline-0.8.2.1:d09ed6fd27635403a12059b6ccd7fef8 hpc-0.7.0.1:4866c704ce8319006132fcb05f0528b8 integer-gmp-1.1:450d00b98dfb2d0b0fa74a4ab7f1f86d mtl-2.3.1:a95538090898d626859b27fa5f9f4478 os-string-2.0.2:9a6909bb6261147f9429693fdc043d92 parsec-3.1.17.0:df801a84b0662d84f6ccf49f5fed4238 pretty-1.1.3.6:8c087248942369bfd431ce115a3c0af7 process-1.6.19.0:f9a0b9a9da2d73082f712f0a231bd981 rts-1.0.2:b7a5c6aad95a5a3e4903ce2272ab85e0 semaphore-compat-1.0.0:cacb0b2542c6b9343dea3c6f7e727c0b stm-2.5.3.1:d00d674868ba0492b9fa697ab6095b09 system-cxx-std-lib-1.0:00000000000000000000000000000000 template-haskell-2.22.0.0:029d8408e273514c5b253f9f3d6e1db2 terminfo-0.4.1.6:df55569617303e3e6826af0aaa6d90ff text-2.1.1:8670b1d422b6881e04f992c1dbe36b65 time-1.12.2:ed6d8f334aae4fd5438597770457857a transformers-0.6.1.1:63ac6c4d701c7d38d1b66ef43d692c96 unix-2.8.5.1:3e9d32b3285ef7b39f608699d04997b6 xhtml-3000.2.2.1:132601d2908b7f4293becf967f98e29c

I get the fedora33 HLS 2.9.0.1 bindists from ghcup. However for GHC 9.10.1 I appear to have received the fedora38 bindists. Not sure why GHC needs a higher ceiling than HLS, but perhaps this plays?

I am available if you need more info about my system.

hasufell commented 2 months ago

Yeah. The process is broken.

Whenever we add new version bounds to the GHC metadata, we also need to update the HLS release CI!

Kleidukos commented 2 months ago

@hasufell Would you be interested in a CI check that forces new additions to the version bounds to update the HLS release CI?

hasufell commented 2 months ago

@hasufell Would you be interested in a CI check that forces new additions to the version bounds to update the HLS release CI?

How?

Kleidukos commented 2 months ago

A rough way of doing so is to check if the HLS-specific files have been modified when GHC-specific files are modified, through git.