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

Fix arm cross compilation with ghc 8.6.5 #654

Merged
merged 3 commits into from
Jun 6, 2020
Merged

Conversation

hamishmack
Copy link
Collaborator

#620 broke cross compilation to Aarch64 with ghc 8.6.5.

This can be observed by running:

nix-build -A pkgs.pkgsCross.aarch64-multiplatform.buildPackages.haskell-nix.compiler.ghc865 --system x86_64-linux

This change reinstates Aarch64 support.

@hamishmack hamishmack requested a review from angerman June 5, 2020 12:04
@hamishmack
Copy link
Collaborator Author

@TravisWhitaker can you please check that native aarch64 still works ok with this change?

@hamishmack hamishmack force-pushed the hkm/arm-ghc865-fix branch from 5fcbbcd to 0d35e65 Compare June 5, 2020 12:28
Copy link
Collaborator

@angerman angerman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm.

@hamishmack hamishmack merged commit 80e0e61 into master Jun 6, 2020
@iohk-bors iohk-bors bot deleted the hkm/arm-ghc865-fix branch June 6, 2020 01:32
@TravisWhitaker
Copy link
Contributor

@angerman @hamishmack This makes haskell.nix unusable (at least with GHC 8.8.x) on aarch64. There is infinite recursion somewhere:

$ nix-build -E 'with import ../nixpkgs-channels/default.nix (import ./. {}).nixpkgsArgs; haskell-nix.snapshots."lts-15.13".cpuinfo.components.all'
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
trace: Using index-state: 2020-04-12T00:00:00Z for alex
Segmentation fault (core dumped)

Is there haskell.nix CI for aarch64?

@TravisWhitaker
Copy link
Contributor

Hmm, I might've spoken too soon. I'm bisecting now....

hamishmack added a commit that referenced this pull request Jun 7, 2020
This should fix the infinite recursion issue with #654
angerman pushed a commit that referenced this pull request Jun 7, 2020
* ghc 8.10
* Adds/Updates/Removes materialization files
* Disable one-shot-kqueue-on-macos patch on ghc-8.10
* Test ghc883 and ghc8101 but only with nix 20.03
* Various smaller fixes.

This should fix the infinite recursion issue with #654

Co-authored-by: Lennart Spitzner <[email protected]>
@TravisWhitaker
Copy link
Contributor

@hamishmack 15fc6b3 indeed fixed this on native aarch64, thanks!

booniepepper pushed a commit to booniepepper/haskell.nix that referenced this pull request Feb 4, 2022
booniepepper pushed a commit to booniepepper/haskell.nix that referenced this pull request Feb 4, 2022
* ghc 8.10
* Adds/Updates/Removes materialization files
* Disable one-shot-kqueue-on-macos patch on ghc-8.10
* Test ghc883 and ghc8101 but only with nix 20.03
* Various smaller fixes.

This should fix the infinite recursion issue with input-output-hk#654

Co-authored-by: Lennart Spitzner <[email protected]>
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