-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
gcc: fix libgccjit cross #217874
gcc: fix libgccjit cross #217874
Conversation
@ofborg build pkgsCross.aarch64-multiplatform.libgccjit |
Hrm, apparently this only works for gcc>=11, so it will have to wait for #209870 |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
@amjoseph-nixpkgs #209870 has been merged, any chance you could pick this back up? |
@ofborg build pkgsCross.aarch64-multiplatform.libgccjit |
The patch needs to go upstream first, and there's some minor cleanup to do. @ofborg build pkgsCross.aarch64-multiplatform.libgccjit |
Before this commit, `pkgsCross.*.libgccjit` would fail to build. Apparently `--enable-lang=jit` requires `--enable-plugin`, but the configury is unaware of this requirement. The failure mode is difficult to diagnose; the build fails with a compile error due to `<dlfcn.h>` not being included. This commit adds `enablePlugin=true` and an `assert` to check for the unsupported combination and provide feedback at eval time.
Before this commit, `pkgsCross.*.libgccjit` would fail because libcCross and threadsCross were not being passed to libgccjit in all-packages.nix. These are boilerplate parameters that are repeated several times in all-packages.nix, so at some point we should probably make them default arguments of gcc/${version}/default.nix. This commit fixes the problem by passing the missing parameters.
This patch needs to go upstream. Also the logic around autoreconfHook needs to be cleaned up; we should try to autoreconfHook whenever possible (basically everywhere except xgcc) but I need to work out exactly how to do that.
Fixed merge conflict. |
Description of changes
Before this commit,
pkgsCross.*.libgccjit
would fail to build for two reasons:Apparently
--enable-lang=jit
requires--enable-plugin
, but the configury is unaware of this requirement. The failure mode is difficult to diagnose; the build fails with a compile error due to<dlfcn.h>
not being included.libcCross and threadsCross were not being passed to libgccjit in all-packages.nix. These are boilerplate parameters that are repeated several times in all-packages.nix, so at some point we should probably make them default arguments of gcc/${version}/default.nix.
This commit fixes the two problems above, respectively, by:
Adding an
assert
to check for the unsupported combination and provide feedback at eval time.Passing the missing parameters.
Things done
pkgsCross.aarch64.libgccjit
on x86_64-linux)