Skip to content

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

Closed
wants to merge 1 commit into from

Conversation

mpilgrem
Copy link
Member

@mpilgrem mpilgrem commented Oct 1, 2022

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 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.

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.
@mpilgrem mpilgrem requested a review from borsboom October 1, 2022 21:02
@mpilgrem
Copy link
Member Author

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'.

@hasufell
Copy link
Contributor

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 ghc --info is different from Fedora? Otherwise the build cache will break.

@ysangkok
Copy link

ysangkok commented Nov 8, 2022

whether ghc --info is different from Fedora? Otherwise the build cache will break.

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.

@mpilgrem
Copy link
Member Author

mpilgrem commented Nov 8, 2022

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.

@ysangkok
Copy link

ysangkok commented Nov 8, 2022 via email

@hasufell
Copy link
Contributor

hasufell commented Nov 9, 2022

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

@mpilgrem
Copy link
Member Author

mpilgrem commented Dec 23, 2022

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 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants