Repository navigation
[CANARY — DO NOT MERGE] gcc 15.2.0 → 16.2.0 world build (pm#1182) - #1340
Draft
bryan-minimal wants to merge 3 commits into
Draft
bryan-minimal wants to merge 3 commits into
bryan-minimal wants to merge 3 commits into
Conversation
World-build canary to collect the gcc 16 FTBFS list. - version 16.2.0; source from mirrors.kernel.org (not yet mirrored to gs://minimal-staging-archives). sha256 e6738e29... matches the ftp.gnu.org tarball whose .sig verifies against Richard Biener's key 13975A70E63C361C73AE69EF6EEB81F8981C74C7 from the GNU keyring. - build.sh: gcc-16.2.0 dir names; drop the libgomp -Wno-error=discarded-qualifiers hatch (affinity-fmt.c:330 is `const char *q` in 16.2.0). - replace_on_cycle seeds unchanged (gcc 15.2.0 compiles gcc 16 once). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
|
…6 FTBFS) gcc 14.2.0's libcody does `words.emplace_back (u8"")`, which no longer compiles once the host compiler defaults to C++20 (u8"" is const char8_t[]). gcc 16.2.0's libcody casts it, so move the cross compiler to the same gcc release as the native one (latest-version policy) instead of pinning -std=gnu++17. - gcc 16.2.0: same tarball/sha256 as packages/gcc (e6738e29..., .sig verified against 13975A70E63C361C73AE69EF6EEB81F8981C74C7). - newlib 4.6.0.20260123: sha256 6ff27e3b...; its sha512 matches sourceware.org/pub/newlib/sha512.sum (newlib publishes no signature). - t-rmprofile is unchanged between 14.2.0 and 16.2.0 except the copyright year, so the multilib sed still applies; every newlib configure option the recipe passes still exists in 4.6.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gcc 16 adds -Wsfinae-incomplete and new -Wunused-but-set-variable / -Warray-bounds diagnostics that cbmc 6.11.0's -Werror build promotes to errors. Upstream fixed them in #9024 (merge 4b26409c, 2026-10-02), after 6.11.0, which is still the latest release and what Kani 0.68.0 pins, so carry that PR as a patch until the next release. It applies cleanly to the 6.11.0 tag (git apply --check) and is behaviour-neutral (warning-path cleanups and a dead counter), so it also builds under gcc 15. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Caution
CANARY. DO NOT MERGE, DO NOT APPROVE, NEVER ADD TO THE MERGE QUEUE.
This PR exists only so build-bot runs a full world build with gcc 16.2.0 as the default compiler. It is a draft on purpose and will be closed once the FTBFS list is collected. The real flip will be a separate, human-authored PR queued alone.
Purpose
Step 4 of gominimal/pkgmgr-rs#1182: collect the complete list of packages that fail to build (FTBFS) when the default compiler
packages/gccmoves from 15.2.0 to 16.2.0. gcc is in every package's reverse import closure (616/616), so this PR rebuilds the whole world.What changed
Only
packages/gcc/:build.nclversionis now 16.2.0.https://mirrors.kernel.org/gnu/gcc/gcc-16.2.0/gcc-16.2.0.tar.xz, sha256e6738e29597f733270731aa90600f37ffdc045079dfc27ec7e8192cc81085c3e.build.shgcc-16.2.0directory names replace the hardcodedgcc-15.2.0.-Wno-error=discarded-qualifiershatch is dropped (the CFLAGS/CXXFLAGS/*_FOR_TARGETexports and their comment).libgomp/affinity-fmt.c:330is alreadyconst char *qin 16.2.0.replace_on_cycleseeds (gcc-15.2.0) stay as they are. gcc 16 is compiled once by the 15.2 seed, and gcc 16 needs only a C++14 host.lib64sed targets int-linux64/t-aarch64-linuxare still present.Source verification: the tarball's sha256 is identical from ftp.gnu.org and mirrors.kernel.org. Its
gcc-16.2.0.tar.xz.sigverifies against GCC release key13975A70E63C361C73AE69EF6EEB81F8981C74C7(Richard Biener) fromgnu-keyring.gpg.sqtherefore only authenticates it with--policy-as-of 2014-01-01.data/signing_policies.tomlever covers gcc.⚠ Mirroring needed before any real flip. Every other gcc source lives at
gs://minimal-staging-archives/gcc-%{version}.tar.xz. This canary points at upstream because the tarball could not be uploaded from here. The flip PR must mirror it first and restore the gs:// URL.Deliberately left alone (track for the flip)
stacks/make/stack.nclstill applies-Wno-error=discarded-qualifiersfleet-wide. It is documented as durable because it is about glibc 2.43+ headers, not gcc.gcc-arm-none-eabi: 14.2.0. libcodyu8/ char8_t, plus the safe-ctype vs<memory>poisoning. The fix is to bump it to ≥ 14.4.0.cbmc6.11.0 (andkani): upstream-Werrorhitssfinae-incomplete/unused-but-set-variable. The fix is to backport Fix GCC 16 warning-as-error build failures diffblue/cbmc#9024.Local sanity build: not done
I couldn't run a local
min package build gccfirst, so gcc 16.2.0 itself is unproven until this run. Activating apkgbuildsession on this worktree means rebuildingbase's closure, because gcc changed. That rebuild needs the bedrock prebuilt seeds (gcc (prebuilt),zlib (prebuilt)) fromgs://minimal-staging-archives. minvmd 0.7.3-rc1's node-plane egress baseline drops those connections (dropped a node-plane frame ... toward an address no baseline entry pinned), so session spawn failed withcannot connect to endpointon storage.googleapis.com.If the bot fails on
gccitself, it fails early and cheaply, and I'll fix it on this branch.How results will be triaged
operator!=)-WerrorwarningsAC_PROG_CXXdowngrade probe-lgcc_s_asneeded)-Wno-error=/-std=pin) that also builds under 15.2.FTBFS log (running)
The bot stops an arch's whole run at the first failed package (the minimal orchestrator aborts on the first error and has no keep-going mode), so failures surface one per run. Each fix is one commit on this branch, so it can be cherry-picked into its own PR.
u8""into std::string (gcc 14.2.0 source)-Wsfinae-incomplete/-Wunused-but-set-variable/-Warray-boundsunder-Werror🤖 Generated with Claude Code