-
Notifications
You must be signed in to change notification settings - Fork 91
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
Disable GHCs aggressive selection of ld.gold
#1032
Comments
Fixes #1032 Users can still run 'ghcup install ghc <ver> -- enable-ld-override'
Thanks for that, double-checked that EDIT: First result when googling this https://www.haskell.org/ghcup/guide/#stack-integration. Probably best solution for now. |
The default makepkg configuration sets LDFLAGS but not LD. GHC used to take this as its cue to select its own choice of LD. However GHC would *not* check that its choice of LD supports LDFLAGS. This is a problem for dependencies with C components, which get linked using this LD. A fix[1] for this has landed in ghc 9.6.5 on 2024-04-16, and ghc's installed using the current ghcup HEAD (starting with 7a684ad[2]) will have `--disable-ld-override` passed, which also fixes the issue. [1] - https://gitlab.haskell.org/ghc/ghc/-/issues/24565 [2] - haskell/ghcup-hs#1032
The default makepkg configuration sets LDFLAGS but not LD. GHC used to take this as its cue to select its own choice of LD. However GHC would *not* check that its choice of LD supports LDFLAGS. This is a problem for dependencies with C components, which get linked using this LD. A fix[1] for this has landed in ghc 9.6.5 on 2024-04-16, and ghc's installed using the current ghcup HEAD (starting with 7a684ad[2]) will have `--disable-ld-override` passed, which also fixes the issue. [1] - https://gitlab.haskell.org/ghc/ghc/-/issues/24565 [2] - haskell/ghcup-hs#1032
The default makepkg configuration sets LDFLAGS but not LD. GHC used to take this as its cue to select its own choice of LD. However GHC would *not* check that its choice of LD supports LDFLAGS. This is a problem for dependencies with C components, which get linked using this LD. A fix[1] for this has landed in ghc 9.6.5 on 2024-04-16, and ghc's installed using the current ghcup HEAD (starting with 7a684ad[2]) will have `--disable-ld-override` passed, which also fixes the issue. [1] - https://gitlab.haskell.org/ghc/ghc/-/issues/24565 [2] - haskell/ghcup-hs#1032
The default makepkg configuration sets LDFLAGS but not LD. GHC used to take this as its cue to select its own choice of LD. However GHC would *not* check that its choice of LD supports LDFLAGS. This is a problem for dependencies with C components, which get linked using this LD. A fix[1] for this has landed in ghc 9.6.5 on 2024-04-16, and ghc's installed using the current ghcup HEAD (starting with 7a684ad[2]) will have `--disable-ld-override` passed, which also fixes the issue. [1] - https://gitlab.haskell.org/ghc/ghc/-/issues/24565 [2] - haskell/ghcup-hs#1032
The default makepkg configuration sets LDFLAGS but not LD. GHC used to take this as its cue to select its own choice of LD. However GHC would *not* check that its choice of LD supports LDFLAGS. This is a problem for dependencies with C components, which get linked using this LD. A fix[1] for this has landed in ghc 9.6.5 on 2024-04-16, and ghc's installed using the current ghcup HEAD (starting with 7a684ad[2]) will have `--disable-ld-override` passed, which also fixes the issue. [1] - https://gitlab.haskell.org/ghc/ghc/-/issues/24565 [2] - haskell/ghcup-hs#1032
The default makepkg configuration sets LDFLAGS but not LD. GHC used to take this as its cue to select its own choice of LD. However GHC would *not* check that its choice of LD supports LDFLAGS. This is a problem for dependencies with C components, which get linked using this LD. A fix[1] for this has landed in ghc 9.6.5 on 2024-04-16, and ghc's installed using the current ghcup HEAD (starting with 7a684ad[2]) will have `--disable-ld-override` passed, which also fixes the issue. [1] - https://gitlab.haskell.org/ghc/ghc/-/issues/24565 [2] - haskell/ghcup-hs#1032
It seems that 2a7f32e reverts the change to use Is the plan to enable |
I want some more time to pass and reflect on it. @alt-romes talked to me about that at ZuriHac. |
Thanks sounds good, just wanted to check in about what the status was there. |
Pull in the ghc-9.6 port branch for now. The default makepkg configuration sets LDFLAGS but not LD. GHC used to take this as its cue to select its own choice of LD. However GHC would *not* check that its choice of LD supports LDFLAGS. This is a problem for dependencies with C components, which get linked using this LD. A fix[1] for this has landed in ghc 9.6.5 on 2024-04-16, and ghc's installed using the current ghcup HEAD (starting with 7a684ad[2]) will have `--disable-ld-override` passed, which also fixes the issue. [1] - https://gitlab.haskell.org/ghc/ghc/-/issues/24565 [2] - haskell/ghcup-hs#1032
Repoening. |
GHC constantly tries to overwrite distro defaults and selects
ld.gold
very aggressively even ifld.bfd
is the system default.Major source distros advice against using ld.gold as default and we should follow their lead.
As such, I propose to:
--disable-ld-override
ld.bfd
for bindist configure (alpine or all linux?) #967 and just go with whatever distro default is setSparked by discussion: https://gitlab.haskell.org/ghc/ghc/-/issues/24565
The text was updated successfully, but these errors were encountered: