You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The latter being that stack with GHC 9.0.2 doesn't work with HLS, because they still use the old bindist without profiling libs, causing ABI mismatch in our wrapper script:
This begs the question on how to deal with such diverging ABI. I see a couple of potential solutions:
coordinate bindist updates with stack team
have hls-wrapper binary pick the correct ABI (in addition to correct GHC version) and ship multiple hls binaries, such as haskell-language-server-<ghcver>-<abihash>
GHC 9.0.2 on linux and 9.2.2 on windows had missing profiling libs so @mpickering was so kind to supply me with fixed bindists.
These were added to ghcup: haskell/ghcup-metadata@88696a0
Since profiling seems to affect the ABI, this caused a number of issues:
The latter being that stack with GHC 9.0.2 doesn't work with HLS, because they still use the old bindist without profiling libs, causing ABI mismatch in our wrapper script:
haskell-language-server/bindist/wrapper.in
Line 77 in 6742c20
This begs the question on how to deal with such diverging ABI. I see a couple of potential solutions:
haskell-language-server-<ghcver>-<abihash>Also note that there may be other cases where ghcup and stack bindists diverge, e.g. because they have different platform detection logic.