Skip to content

Conversation

@fabianhjr
Copy link
Member

@fabianhjr fabianhjr commented Dec 19, 2022

Description of changes

This changes the default gcc version from gcc11 to gcc12

Things done

Depends on #206805

Pending:

Tested with GNOME/GDM NixOS (about 4k-6k builds?)

Checklist:

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • 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.05 Release Notes (or backporting 22.11 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
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: kernel The Linux kernel label Dec 19, 2022
@fabianhjr
Copy link
Member Author

Been using these changes for a while now:

Linux version 6.0.13-hardened1 (nixbld@localhost) (gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39) #1-NixOS SMP PREEMPT_DYNAMIC Wed Dec 14 10:41:06 UTC 2022

Haven't noticed any issues

@fabianhjr fabianhjr changed the base branch from master to staging December 19, 2022 20:50
@ofborg ofborg bot added 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. 8.has: clean-up This PR removes packages or removes other cruft labels Dec 19, 2022
@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Dec 19, 2022
@vcunat
Copy link
Member

vcunat commented Dec 19, 2022

Jobset: https://hydra.nixos.org/jobset/nixpkgs/pr-206907-gcc12

For now just x86_64-linux with low priority. It's likely to advance a lot while staging-next-* waits for *-darwin to catch up, but we'll see.

@vcunat
Copy link
Member

vcunat commented Dec 19, 2022

By looking at this the upgrade might go relatively easily: https://gcc.gnu.org/gcc-12/porting_to.html

@fabianhjr fabianhjr marked this pull request as draft December 19, 2022 21:15
@github-actions github-actions bot added 6.topic: cinnamon Desktop environment 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. 6.topic: nim Nim programing language 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: pantheon The Pantheon desktop environment 6.topic: policy discussion Discuss policies to work in and around Nixpkgs labels Dec 23, 2022
@fabianhjr fabianhjr force-pushed the gcc-12-stdenv branch 4 times, most recently from 74a27f9 to c5e2589 Compare January 21, 2023 17:33
@ghost

This comment was marked as resolved.

@ghost ghost mentioned this pull request Jan 26, 2023
4 tasks
@ghost
Copy link

ghost commented Jan 31, 2023

Would you mind rebasing this to latest origin/staging? It makes it easier for me to test that #209870 still works regardless of whether it or this merges first.

@vcunat
Copy link
Member

vcunat commented Jan 31, 2023

It's intentionally based on recent master to avoid mixing up with (potential) regressions from master..staging. This makes comparisons easier, e.g. now https://hydra.nixos.org/eval/1789845?compare=1789809

@fabianhjr
Copy link
Member Author

Doing so would also cause a mass rebuild on hydra.

Not sure I should do that resource-wise.

@vcunat
Copy link
Member

vcunat commented Jan 31, 2023

Right, the rebuild on Hydra would seem wasteful to me at this point.

vcunat added a commit that referenced this pull request Feb 1, 2023
@vcunat vcunat merged commit b3195fa into NixOS:staging Feb 1, 2023
@fabianhjr fabianhjr deleted the gcc-12-stdenv branch February 1, 2023 19:02
@trofi
Copy link
Contributor

trofi commented Apr 28, 2023

Bisect says cb57273 stdenv: gcc_11 → gcc_12 broke dmd test on master:

$ nix build -f. -L dmd
...
Test 'runnable_cxx/cppa.d' failed. The logged output:
g++ -m64 -c runnable_cxx/extra-files/cppb.cpp -o test_results/runnable_cxx/cppb.cpp.o -std=c++11
/build/dmd/generated/linux/release/64/dmd -conf= -m64 -Irunnable_cxx -checkaction=C  -fPIC -L-lstdc++
 -L--no-demangle  -odtest_results/runnable_cxx -oftest_results/runnable_cxx/cppa_0  runnable_cxx/cppa
.d test_results/runnable_cxx/cppb.cpp.o
/nix/store/0n4dckknrk1fyvh858hyqv9bk3nhn67s-binutils-2.39/bin/ld: test_results/runnable_cxx/cppa_0.o:
 in function `_ZNSaIiE10deallocateEPim':
runnable_cxx/cppa.d:(.text._ZNSaIiE10deallocateEPim[_ZNSaIiE10deallocateEPim]+0x5): undefined referen
ce to `_ZN9__gnu_cxx13new_allocatorIiE10deallocateEPim'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1
...
FAILED targets:
- runnable_cxx/cppa.d

@ghost ghost mentioned this pull request May 9, 2023
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: kernel The Linux kernel 8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants