Skip to content

chromium{Beta,Dev}: Fix a build error by disabling PGO#168555

Merged
primeos merged 1 commit intoNixOS:masterfrom
primeos:chromiumBeta
Apr 14, 2022
Merged

chromium{Beta,Dev}: Fix a build error by disabling PGO#168555
primeos merged 1 commit intoNixOS:masterfrom
primeos:chromiumBeta

Conversation

@primeos
Copy link
Copy Markdown
Member

@primeos primeos commented Apr 13, 2022

This fixes build errors like this:
error: Could not read profile ../../chrome/build/pgo_profiles/chrome-linux-4951-1649181099-528ef6669805f2d3db6f3ad7429cfa57a6078271.profdata: unsupported instrumentation profile format version

We already package the most recent stable LLVM version for Chromium but Google
relies on unreleased (Git) versions (thanks...). This isn't ideal but I
don't have the time to package yet another LLVM version so it'll have to
cut it for now.

See build/config/compiler/pgo/pgo.gni:

  • 0 : Means that PGO is turned off.
  • 1 : Used during the PGI (instrumentation) phase.
  • 2 : Used during the PGO (optimization) phase.

With is_official_build the default is chrome_pgo_phase = 2.

Description of changes
Things done
  • 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/)
  • 22.05 Release Notes (or backporting 21.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.

This fixes build errors like this:
error: Could not read profile ../../chrome/build/pgo_profiles/chrome-linux-4951-1649181099-528ef6669805f2d3db6f3ad7429cfa57a6078271.profdata: unsupported instrumentation profile format version

We already package the most recent stable LLVM version for Chromium but Google
relies on unreleased (Git) versions (thanks...). This isn't ideal but I
don't have the time to package yet another LLVM version so it'll have to
cut it for now.

See build/config/compiler/pgo/pgo.gni:
- 0 : Means that PGO is turned off.
- 1 : Used during the PGI (instrumentation) phase.
- 2 : Used during the PGO (optimization) phase.

With is_official_build the default is chrome_pgo_phase = 2.
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Apr 13, 2022
@primeos primeos merged commit 8195ea1 into NixOS:master Apr 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 0 This PR does not cause any 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