haskell / haskell-language-server

Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Apache License 2.0
2.72k stars 367 forks source link

arm64: /usr/bin/ld.gold: error: Stub is too far away, try a smaller value for '--stub-group-size'. The current value is 0x7ffbffc. #3433

Open juhp opened 1 year ago

juhp commented 1 year ago

I am hitting linking errors on Fedora aarch64 when building HLS 1.9 for Fedora for ghc9.0 and ghc9.2:

see https://copr.fedorainfracloud.org/coprs/petersen/haskell-language-server/monitor/ (edit: plus https://copr.fedorainfracloud.org/coprs/petersen/haskell-language-server/build/5197512/)

Your environment

Fedora Linux

Steps to reproduce

Basically using cabal install but you can see the exact steps: https://github.com/fedora-haskell/haskell-language-server/blob/main/haskell-language-server.spec#L409

Expected behaviour

HLS 1.9 to build and link on aarch64

Actual behaviour

Linking fails with many:

/usr/bin/ld.gold: error: Stub is too far away, try a smaller value for '--stub-group-size'. The current value is 0x7ffbffc.

Debug information

Build logs are available starting from the above link.

Has anyone else hit something like this before? I have been building with dynamic False since 1.6.

This could well be a ghc issue: feels like HLS pushes it limits...

juhp commented 1 year ago

With dynamic it seems okay, but that makes the packaging rather more complex...

Though I suppose dynamic is preferred for TH etc, right?

mpickering commented 1 year ago

@juhp It is strongly recommended you build dynamically linked HLS releases as this works much better with projects with TH.

juhp commented 1 year ago

Okay, thanks - I have to consider this - it is a major packaging change.

Okay yes I see the official binaries are dynlinked. Me being lazy again...

hasufell commented 11 months ago

@juhp It is strongly recommended you build dynamically linked HLS releases as this works much better with projects with TH.

I've tried to find evidence of this some time ago by getting a clear reproducer. But I couldn't.

Do you have any?

juhp commented 11 months ago

@hasufell I can reproduce 100% on Fedora aarch64 with ghc-9.4.8 and 9.6.3, if that is what you are asking

hasufell commented 11 months ago

@hasufell I can reproduce 100% on Fedora aarch64 with ghc-9.4.8 and 9.6.3, if that is what you are asking

I'm asking if there's a clear reproducer that static HLS binaries cause TH issues, because I could not find any.