Skip to content
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

ghc: disable on powerpc64le #282591

Closed
wants to merge 1 commit into from
Closed

ghc: disable on powerpc64le #282591

wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Jan 21, 2024

Description of changes

The first step of bootstrapping ghc on powerpc64le uses an ancient ghc-8.6.5 binary which never worked very well and has always segfaulted part of the time. Unfortunately of late something in newer Linux kernels, or maybe glibcs, or maybe something else is causing it to segfault 100% of the time for me.

Sadly this means we can no longer build GHC on nixpkgs. IMHO, long term it just isn't sustainable for us to support compilers that don't have either a bootstrap path from C/C++ or else a solid self-cross-compilation-from-x86 bootstrap path. I think we need to wait for GHC to get the latter.

Also, recently people have been spraying ShellCheck far and wide with wild abandon, which means that deliberately breaking GHC ond powerpc64le is the most straighforward way to get nixpkgs to skip these ShellChecks (which of course need GHC).

So... this commit actually is necessary now in order to build the NixOS installer.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@ghost ghost marked this pull request as ready for review January 21, 2024 13:54
The first step of bootstrapping ghc on powerpc64le uses an ancient
ghc-8.6.5 binary which never worked very well and has always
segfaulted part of the time.  Unfortunately of late something in
newer Linux kernels, or maybe glibcs, or maybe something else is
causing it to segfault 100% of the time for me.

Sadly this means we can no longer build GHC on nixpkgs.  IMHO, long
term it just isn't sustainable for us to support compilers that
don't have either a bootstrap path from C/C++ or else a solid
self-cross-compilation-from-x86 bootstrap path.  I think we need to
wait for GHC to get the latter.

Also, recently people have been spraying ShellCheck far and wide
with wild abandon, which means that deliberately breaking GHC on
powerpc64le is the most straighforward way to get nixpkgs to skip
these ShellChecks (which of course need GHC).

So... this commit actually is necessary now in order to build the
NixOS installer.
@maralorn
Copy link
Member

Sounds reasonable, I don’t have any stake in powerpc.

I need a clarification here: Is the problem with ShellCheck that you don’t like the checks or that the tests always fail because they depend on an effectively broken ghc?

@sternenseemann
Copy link
Member

I need a clarification here: Is the problem with ShellCheck that you don’t like the checks or that the tests always fail because they depend on an effectively broken ghc?

ShellCheck is often conditionally enabled based on GHC availability. If GHC is technically available but effectively broken, it becomes a nuisance.

@sternenseemann
Copy link
Member

@amjoseph-nixpkgs If we abandon this bootstrap path, we should also remove all the powerpc64le special casing from haskell-packages.nix, I'd say?

@ghost ghost closed this by deleting the head repository Jan 25, 2024
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants