Skip to content

Commit 4b0b314

Browse files
committed
Revert gcc14 --disable-fixincludes override
The gcc14 override caused a full x86_64-linux toolchain rebuild, including glibc. The rebuilt glibc fails on Determinate Nix's Linux VM (darwin builders) with "undefined symbol: __libc_start_main", breaking 178+ x86_64-linux Haskell builds — far worse than the 32 Windows cross-builds the override was meant to fix. The fixincludes issue needs a narrower solution that doesn't invalidate all x86_64-linux derivation hashes.
1 parent b37d67b commit 4b0b314

1 file changed

Lines changed: 0 additions & 18 deletions

File tree

flake.nix

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -49,24 +49,6 @@
4949
happy = final.haskell.lib.compose.overrideCabal (drv: {
5050
disallowGhcReference = false;
5151
}) prev.happy;
52-
} // prev.lib.optionalAttrs (prev.stdenv.hostPlatform.system == "x86_64-linux") {
53-
# GCC 14's fixincludes step uses a configure-time substitution
54-
# @BUILD_SYSTEM_HEADER_DIR@ that bakes /usr/include into the
55-
# generated Makefile. On NixOS-based builders (Determinate Nix
56-
# Linux VM), /usr/include doesn't exist, causing x86_64-linux
57-
# GCC builds to fail — cascading to all Windows cross-builds.
58-
# --disable-fixincludes skips the fixincludes step entirely, which
59-
# is safe for Nix where all headers are store-managed. Already
60-
# used by nixpkgs' standalone libgcc build for the same reason.
61-
# Scoped to x86_64-linux only: on Darwin, gfortran bootstrap fails
62-
# (Apple SDK __FLT_EVAL_METHOD__); on aarch64-linux, changing gcc14
63-
# cascades through the entire IFD chain, and linux-headers can't be
64-
# rebuilt on darwin builders (case-insensitive APFS).
65-
gcc14 = prev.wrapCC (
66-
prev.gcc14.cc.overrideAttrs (old: {
67-
configureFlags = (old.configureFlags or []) ++ [ "--disable-fixincludes" ];
68-
})
69-
);
7052
});
7153

7254
cddl-tools = (final: prev: {

0 commit comments

Comments
 (0)