On operating systems where the minimum GCC version is not shipped by default, the user would have to use Clang, or install GCC in a different way. For example:
If your review is incorrectly listed, please copy-paste <code><!--meta-tag:bot-skip--></code> into the comment that the bot should ignore.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
#36036 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36036.svg"></sub> (build: Bump clang minimum supported version to 19 by maflcko)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
maflcko added this to the milestone Future on Aug 20, 2026
maflcko force-pushed on Aug 20, 2026
DrahtBot added the label CI failed on Aug 20, 2026
DrahtBot
commented at 3:48 PM on August 20, 2026:
contributor
<!--85328a0da195eb286784d51f73fa0af9-->
🚧 At least one of the CI tasks failed.
<sub>Task NetBSD Cross: https://github.com/bitcoin/bitcoin/actions/runs/32388090156/job/96487376676</sub>
<sub>LLM reason (✨ experimental): CI failed because CMake’s try-compile for text formatting errored with fatal error: 'format' file not found (missing C++ <format> header).</sub>
<details><summary>Hints</summary>
Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:
Possibly due to a silent merge conflict (the changes in this pull request being
incompatible with the current code in the target branch). If so, make sure to rebase on the latest
commit of the target branch.
A sanitizer issue, which can only be found by compiling with the sanitizer and running the
affected test.
An intermittent issue.
Leave a comment here, if you need help tracking down a confusing failure.
</details>
maflcko
commented at 4:33 PM on August 20, 2026:
member
Hmm, looks like netbsd-cross is a CI blocker for this? Not sure how to proceed here, because netbsd ci coverage may be useful, but no real user is doing netbsd-cross (I expect all users are running on native netbsd). But native netbsd isn't an option for CI ... :man_shrugging:
maflcko removed this from the milestone Future on Aug 20, 2026
fanquake
commented at 8:30 AM on August 21, 2026:
member
but no real user is doing netbsd-cross (I expect all users are running on native netbsd). But native netbsd isn't an option for CI ...
Are you saying this does work natively on NetBSD? I'd expect it to fail the same way (given NetBSD 11 ships GCC 12.5.0 which doesn't support std::format), and the CI here is giving us the coverage we want (showing this would break compilation for native NetBSD users)?
maflcko
commented at 9:02 AM on August 21, 2026:
member
NetBSD also has recent GCC in packages, so it should work natively on NetBSD. But I don't really know an answer to the meta question, or how to proceed here, which is why this is in draft and removed from the milestone.
fanquake
commented at 9:29 AM on August 21, 2026:
member
I guess somebody (maybe @hebasto?) could test a newer version of GCC natively, to determine which compiler/flag combo is required for std::format, and then update the build instructions. Could be good to do in any case, if NetBSD users are currently using GCC 12.x.
hebasto
commented at 2:26 PM on August 22, 2026:
member
I guess somebody (maybe @hebasto?) could test a newer version of GCC natively, to determine which compiler/flag combo is required for std::format, and then update the build instructions. Could be good to do in any case, if NetBSD users are currently using GCC 12.x.
Yes, it's possible to install a newer GCC compiler and configure the build system to use it (similar to what was documented prior to 9b85c9814d1d5b1ef9caedc25dc336dacb887dcc).
The GCC 13 branch is now closed, no further changes can be pushed there.
maflcko force-pushed on Oct 2, 2026
DrahtBot removed the label Needs rebase on Oct 2, 2026
DrahtBot added the label CI failed on Oct 2, 2026
maflcko force-pushed on Oct 6, 2026
maflcko
commented at 9:02 AM on October 7, 2026:
member
the older netbsd packages will be nuked, so I am not sure how to proceed here. Possibly this needs full caching for the manual install of the netbsd gcc package, so this is still blocked on netbsd.
DrahtBot removed the label CI failed on Oct 7, 2026
DrahtBot added the label Needs rebase on Oct 8, 2026
maflcko force-pushed on Oct 8, 2026
DrahtBot removed the label Needs rebase on Oct 8, 2026
DrahtBot added the label Needs rebase on Oct 11, 2026
maflcko force-pushed on Oct 12, 2026
DrahtBot removed the label Needs rebase on Oct 12, 2026
DrahtBot added the label Needs rebase on Oct 21, 2026
build: Bump g++ minimum supported version to 13e50d2b80ed
bench: refactor: tfm->std::format
Make an example replacement to use std::format. New code can use this
now, but old code can probably stay as-is for now.
ee8d04cd15
ci: Drop -Werror now that CMAKE_COMPILE_WARNING_AS_ERROR is available4d1f5a1005
doc: Remove redundant GCC 13 note in build-windows.mda6094fd0cc
ci: NetBSD-cross: Use libstdc++-1415d28aee0d
maflcko force-pushed on Oct 22, 2026
DrahtBot removed the label Needs rebase on Oct 22, 2026
stickies-v
commented at 8:47 AM on October 22, 2026:
contributor
Concept ACK
ci: Bump netbsd GCC pkg minor version, Remove NetBSD from GHA matrix
This bump is required, because the prior minor version was nuked from
the archives.
The removal is required, because the CI would otherwise fail in the
future when this pkg is nuked as well.
A fix could be to set up a mirror of the pkg, but this is tedious to
maintain. Given that there is still full coverage of FreeBSD and OpenBSD
cross-compilation, and this task not yet having found an issue, it seems
fine to drop it for now.
The config is retained, so that anyone can still run and maintain it
locally, if needed. This is similar to other CI tasks, such as s390x.
79d16c2cc1
maflcko force-pushed on Oct 22, 2026
maflcko
commented at 9:41 AM on October 22, 2026:
member
Went ahead and dropped NetBSD-cross from the GHA matrix. While it is possible to keep and maintain it, it would be tedious, with questionable benefit, given that the task hasn't found a meaningful issue unique to the NetBSD-cross task.
hebasto
commented at 10:54 AM on October 22, 2026:
member
We already had a situation before the NetBSD 11.0 release where NetBSD’s base compiler did not meet our minimum requirements. Back then, the NetBSD build notes provided instructions for installing a newer compiler. Moreover, due to a bug in capnproto, it seems prudent to recommend GCC 14 and skip GCC 13.
Went ahead and dropped NetBSD-cross from the GHA matrix.
I agree with that. Its value has been moderate recently, as most NetBSD-specific issues have been caught by running the tests elsewhere.
I hope we can proceed with this PR and undraft it, as GCC 12 is currently broken on some platforms anyway.
maflcko
commented at 11:37 AM on October 22, 2026:
member
I hope we can proceed with this PR and undraft it
Ok, I'll think if it makes sense to git revert 9b85c9814d1d5b1ef9caedc25dc336dacb887dcc (with gcc14), and then undraft
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-10-30 09:40 UTC