-
-
Notifications
You must be signed in to change notification settings - Fork 35
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 8.10 compatibility #98
Conversation
Next blocker:
Build chain:
|
Suspicion: It might be
from https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.2.0#n2175, thus probably requiring an upgrade of musl in nixpkgs to |
That fixed that. |
Current errors on
The
|
This is because the % diff -u <(strace -fy /nix/store/3v0is6v3dh6sg34y136rwny69rynh41v-fontforge-20200314/bin/fontforge 2>&1 | head -n5) <(strace -fy /nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/bin/fontforge 2>&1 | head -n5) --- /proc/self/fd/11 2020-07-29 03:44:42.071564812 +0200
+++ /proc/self/fd/12 2020-07-29 03:44:42.071564812 +0200
@@ -1,5 +1,5 @@
-execve("/nix/store/3v0is6v3dh6sg34y136rwny69rynh41v-fontforge-20200314/bin/fontforge", ["/nix/store/3v0is6v3dh6sg34y136rw"...], 0x7fff670c79d8 /* 81 vars */) = 0
+execve("/nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/bin/fontforge", ["/nix/store/dcl4vl0dhh3b64rcqrfwx"...], 0x7fffb423d2c8 /* 81 vars */) = 0
-arch_prctl(ARCH_SET_FS, 0x7efc03efdd68) = 0
+arch_prctl(ARCH_SET_FS, 0x7fc963adcd68) = 0
-set_tid_address(0x7efc03efe33c) = 24152
+set_tid_address(0x7fc963add33c) = 24153
-open("/nix/store/adapzmcxx8cs6yd0qxbyjd8m2j815pab-musl-1.2.0/etc/ld-musl-x86_64.path", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
-open("/lib/libfontforge.so.4", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
+open("/nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/lib/libfontforgeexe.so.3", O_RDONLY|O_CLOEXEC) = 3</nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/lib/libfontforgeexe.so.3.0.0>
+fcntl(3</nix/store/dcl4vl0dhh3b64rcqrfwxczq38na200w-fontforge-20190413/lib/libfontforgeexe.so.3.0.0>, F_SETFD, FD_CLOEXEC) = 0 The new version loads
|
CC @dtzWill @matthewbauer @Ericson2314 on this musl problem ^. Also, should we in nixpkgs patch out this musl line to further ensure impurities cannot happen? if (!sys_path) sys_path = "/lib:/usr/local/lib:/usr/lib"; |
Aha, this seems to be a problem: There is an unsubstituted Old:
New:
|
This was introduced in NixOS#89583 and fixed upstream with a master-only patch in fontforge/fontforge#4232. Found via nh2/static-haskell-nix#98 (comment).
I found the fix for |
Next issue:
|
This was introduced in NixOS#89583 and fixed upstream with a master-only patch in fontforge/fontforge#4232. Found via nh2/static-haskell-nix#98 (comment).
Fixing with PR: NixOS/nixpkgs#94205 I also made an upstream PR: AcademySoftwareFoundation/openexr#798 |
* include workaround for NixOS/nixpkgs#85924 * musl 1.2.0 (#98 (comment)) * workaround for fontforge execution failure due to wrong RPATH (NixOS/nixpkgs#94126) * ilmbase musl compilation error
Next error:
|
* include workaround for NixOS/nixpkgs#85924 * musl 1.2.0 (#98 (comment)) * workaround for fontforge execution failure due to wrong RPATH (NixOS/nixpkgs#94126) * ilmbase musl compilation error (NixOS/nixpkgs#94205) * mesa: Fix `-Werror=int-conversion` build error on musl fixup! nixpkgs: Update submodule:
Fixing with PR: NixOS/nixpkgs#94207 I also made an upstream PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121 |
* include workaround for NixOS/nixpkgs#85924 * musl 1.2.0 (#98 (comment)) * workaround for fontforge execution failure due to wrong RPATH (NixOS/nixpkgs#94126) * ilmbase musl compilation error (NixOS/nixpkgs#94205) * mesa: Fix `-Werror=int-conversion` build error on musl (NixOS/nixpkgs#94207)
Hey Niklas, a couple of questions:
Cheers as always for all your hard work on this. |
This uses @qrilka's work from nh2/stack2nix#1, now moved to nh2/stack2nix#2. Unfortunately, this introduces a backwards incompatibility for stack users: The `stack2nix-script` nix expression now needs to be passed `inherit compiler`, to satisfy stack complaining if there's no matching GHC on PATH (even though we don't use it). I haven't found a way around that yet. Example change that users need to make in their `default.nix` for building stack projects statically: stack2nix-script = import "${static-haskell-nix}/static-stack2nix-builder/stack2nix-script.nix" { inherit pkgs; + inherit compiler; stack-project-dir = toString ./.; # where stack.yaml is hackageSnapshot = "2021-07-11T00:00:00Z"; # pins e.g. extra-deps without hashes or revisions };
Interestingly, the static
I don't know why that is yet; both binaries are |
I finished making Stack 2 support work (and thus all new Stackage LTSs) with This needed only minor updates to @qrilka's work on nh2/stack2nix#1. Some thing may not work yet related to local source dirs described in |
ad72ef7
to
2bf005d
Compare
The glob substitution was run _before_ the script, so that the `cd static-stack` was not applied and thus the path was invalid.
Buildkite CI is fully green, including stack targets: https://buildkite.com/nh2/static-haskell-nix/builds/858 HerculesCI as well, showing output store paths: https://hercules-ci.com/github/nh2/static-haskell-nix/jobs/195 |
* include fixes for GHC segfaulting: (NixOS/nixpkgs#129247, NixOS/nixpkgs#129289) * musl 1.2.2, including this important fix from musl 1.2.0: #98 (comment) * workaround for fontforge execution failure due to wrong RPATH: NixOS/nixpkgs#94126 * ilmbase musl compilation error: NixOS/nixpkgs#94205 * mesa: Fix `-Werror=int-conversion` build error on musl: NixOS/nixpkgs#94207 survey: * Update file in which stackage packages are listed. See nixpkgs commit 7f236bd4 - hackage2nix: Split configuration, auto disable hydra builds
In this PR we can collaborate to add GHC 8.10 compatibility as requested on #90.
For the general approach, see #90 (comment).
TODO
List of upstream PRs made as part of this
fontforge
: fontforge: Fix uninterpolatedCMAKE_INSTALL_PREFIX
in RPATH. NixOS/nixpkgs#94126ilmbase
: openexr, ilmbase: Fix compilation on non-glibc. NixOS/nixpkgs#94205mesa
: mesa: Fix-Werror=int-conversion
build error on musl. NixOS/nixpkgs#94207