-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
haskell-updates: pretty-simple static cross build broken #124284
Comments
This is run on commit 34de748. Maybe @sternenseemann or @rnhmjoj would have some idea of what is happening here. |
Uhm, in ghci this error seems to happen when importing a module that is not loaded, not sure what it means in this context. If I had to guess, it has something to do with TemplateHaskell, which is not working in pkgsStatic (see #61575). |
Without really knowing what to do with this, already stumpled upon the TemplateHaskell topic before (#123860) while trying to statically build hledger to aarch64.
Originally posted by @matthewbauer in #61575 (comment) |
Maybe @angerman has some insights into this. |
https://www.tweag.io/blog/2020-11-25-asterius-th/ to demonstrate what this involves and https://input-output-hk.github.io/haskell.nix/motivation/ that implements it. |
EDIT: Still seems unrelated for me now that I gave it more thought. Using LC_ALL=C NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs/archive/830ef6422f643d5c639fd79bca834c726787ec51.tar.gz \
nix-build '<nixpkgs>' -A pkgsCross.aarch64-multiplatform-musl.pkgsStatic.haskellPackages.pretty-simple I got this built. Just for reference, current master/nixos-unstable also builds LC_ALL=C NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs/archive/b0cf786b967590e577a63d6732dba656bb2fd25a.tar.gz \
nix-build '<nixpkgs>' -A pkgsCross.aarch64-multiplatform-musl.pkgsStatic.haskellPackages.pretty-simple |
@domenkozar As far as I understand it the following might be worth mentioning as @facundominguez was able to faciliate the use of iserv/-proxy to achieve the TH challenge ?
let crossPkgs = pkgs.pkgsCross.aarch64-multiplatform;
haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/b406bb1d5bed581f651ae18a5d3ed07f47ace2b9.tar.gz) {};
pkgs = import haskellNix.sources.nixpkgs haskellNix.nixpkgsArgs;
in
pkgs.mkShell {
buildInputs =
[ pkgs.buildPackages.ghc-extra-packages.ghc8102.iserv-proxy.components.exes.iserv-proxy
crossPkgs.ghc-extra-packages.ghc8102.remote-iserv.components.exes.remote-iserv
crossPkgs.buildPackages.haskell-nix.compiler.ghc8102
pkgs.buildPackages.qemu
];
} Originally posted by @facundominguez in input-output-hk/haskell.nix#868 (comment) |
I'm still puzzled how pretty-simple used to build statically a month ago. |
This change allows loading statically compiled libreries into a running GHC, thus fixing the build of haskell packages that use TemplateHaskell. See [1] for the details. Fixes issue NixOS#61575, NixOS#124284. [1]: https://www.tweag.io/blog/2020-09-30-bazel-static-haskell/
This change allows loading statically compiled libreries into a running GHC, thus fixing the build of haskell packages that use TemplateHaskell. See [1] for the details. Fixes issue #61575, #124284. [1]: https://www.tweag.io/blog/2020-09-30-bazel-static-haskell/
Describe the bug
pretty-simple
breaks with (full log):To Reproduce
Steps to reproduce the behavior
Expected behavior
Static binary for aarch64 should be built.
Notify maintainers
@cdepillabout
Metadata
Please run
nix-shell -p nix-info --run "nix-info -m"
and paste the result.Maintainer information:
The text was updated successfully, but these errors were encountered: