-
Notifications
You must be signed in to change notification settings - Fork 42
Fix Stack issue #5881 - More inclusive Linux/x84_64/tinfo6 variant for GHC 9.4 #117
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
Conversation
See commercialhaskell/stack#5881. This proposed pull request changes Stack's default `setup-info` dictionary to look to `ghc-9.4.*-x86_64-deb10-linux.tar.xz` for the Linux/x84_64/tinfo6 variant. Debian 10 comes with `libtinfo.so.6` and `libgmp.so.10` and so meets the 'tinfo6' criteria. Up to GHC 9.2.4, Stack (by default) looked to the `ghc-*-x86_64-fedora27-linux.tar.xz` GHC bindists for the Linux/x84_64/tinfo6 variant. This bumped to `ghc-9.4.*-x86_64-fedora33-linux.tar.xz` with GHC 9.4.1. However, Fedora 33 has overtaken some other versions of Linux distributions with its version of `libc6` (2.32, Fedora 27 was 2.26): Debian 10 is 2.28, Debian 11/Ubuntu 20.04 is 2.31. Articles on the Internet that suggest the GNU C Library strives for backward compatibility. This assumes that `libc6` 2.32 is backwards compatible with 2.28.
Elsewhere, @hasufell has noted: Debian 10 causes annoying warnings on some distros: https://bugzilla.redhat.com/show_bug.cgi?id=1875587. I do not know the significance of that - where it falls on the spectrum of a 'minor irk for a few' to a 'real pain for many'. |
My guess is that this may happen on all non debian/ubuntu distros. Another point is: did you check whether |
What about just leaving 9.4.2 in place as is? We could just use the proposed binaries for new releases only. 9.4.3 is out now and hasn't been added yet. |
The pull request for GHC 9.4.3 (#119) currently follows the existing GHC 9.4.1 and 9.4.2. I am still not clear how irksome the 'Debian 10' GHC is on non-Debian/non-Ubuntu Linux distributions - or the nature of the 'irk' that might manifest. |
One way to make it less risky, could be to allow the user to specify which
variant to install. Would that make sense, or do you think it is too
complicated?
|
That's already possible. https://docs.haskellstack.org/en/stable/yaml_configuration/#setup-info |
I am closing this pull request as: (a) it is not viable because the 'Debian 10' version of GHC is irksome for users of some other Linux distributions; and (b) I have an alternative plan, based on commercialhaskell/stack#5987 and #127 . |
See commercialhaskell/stack#5881. Also suggested on Haskell Foundation Slack #stack-collaborators without objection (or approval).
This proposed pull request changes Stack's default
setup-info
dictionary to look toghc-9.4.*-x86_64-deb10-linux.tar.xz
for the Linux/x84_64/tinfo6 variant.Debian 10 comes with
libtinfo.so.6
andlibgmp.so.10
and so meets the 'tinfo6' criteria.Up to GHC 9.2.4, Stack (by default) looked to the
ghc-*-x86_64-fedora27-linux.tar.xz
GHC bindists for the Linux/x84_64/tinfo6 variant. This bumped toghc-9.4.*-x86_64-fedora33-linux.tar.xz
with GHC 9.4.1.However, Fedora 33 has overtaken some other versions of Linux distributions with its version of
libc6
(2.32, Fedora 27 was 2.26): Debian 10 is 2.28, Debian 11/Ubuntu 20.04 is 2.31.Articles on the Internet that suggest the GNU C Library strives for backward compatibility. This assumes that
libc6
2.32 is backwards compatible with 2.28.