Skip to content

Comments

gcc6: don’t link libstdc++ to CoreFoundation#267773

Merged
1 commit merged intoNixOS:masterfrom
reckenrode:gcc6-libstdc++-fix
Nov 30, 2023
Merged

gcc6: don’t link libstdc++ to CoreFoundation#267773
1 commit merged intoNixOS:masterfrom
reckenrode:gcc6-libstdc++-fix

Conversation

@reckenrode
Copy link
Contributor

Description of changes

Fixes the build failure of GCC 6 on x86_64-darwin on staging-next #263535. Targeting master because this causes a limited number of rebuilds, and the patch also applies there.

https://hydra.nixos.org/build/240799330

Using flat namespaces causes libstdc++ to link CoreFoundation, but that fails after #265102. Since CoreFoundation is not actually needed, disable flat namespaces to avoid linking it unnecessarily.

Disabling flat namespaces matches the behavior of newer versions of libstdc++ (GCC 7+) when building for newer Darwin hosts (10.5+).

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Using flat namespaces causes libstdc++ to link CoreFoundation, but
that fails after NixOS#265102. Since CoreFoundation is not actually needed,
disable flat namespaces to avoid linking it unnecessarily.

Disabling flat namespaces matches the behavior of newer versions of
libstdc++ (GCC 7+) when building for newer Darwin hosts (10.5+).
@reckenrode reckenrode requested a review from a user November 16, 2023 01:01
@ofborg ofborg bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Nov 16, 2023
@ghost ghost merged commit 34da65b into NixOS:master Nov 30, 2023
@github-actions
Copy link
Contributor

Successfully created backport PR for release-23.11:

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant