New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: Bump g++ minimum supported version to 11 #29091
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
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. |
Release compiler is now GC 12.x, so this should be possible. |
Just noting that this will only be support for vanilla compilation, our 28.x release binaries will continue to run on these platforms. Can we also drop this bitcoin/src/util/fs_helpers.cpp Line 257 in 3d255df
|
This reverts d4999d4
Thanks, edited OP and removed now unused code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fa5844f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fa5844f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Post-merge ACK fa5844f. Glad to see that the Windows-specific workaround is gone.
a6a746e fixup! ci: Test CMake edge cases (Hennadii Stepanov) d267c2c [FIXUP] cmake: Drop deprecated TestBigEndian module (Hennadii Stepanov) b6cb4bb fixup! cmake: Check system symbols (Hennadii Stepanov) 4d67f35 fixup! cmake: Add `Maintenance` module (Hennadii Stepanov) ae5bd32 fixup! cmake: Add cross-compiling support (Hennadii Stepanov) 4b0d7f5 fixup! build: Generate `share/toolchain.cmake` in depends (Hennadii Stepanov) c7abb8f fixup! cmake: Add root `CMakeLists.txt` file (Hennadii Stepanov) Pull request description: Considering the time when the new CMake-based build system will be available for users and bitcoin#29091, it seems reasonable to drop support for CMake versions older than 3.22. For CMake version availability, please refer to https://repology.org/project/cmake/versions. If an OS has no supported CMake in its system/default package manager, the user is still able to download it from https://cmake.org/download// Please refer to commit messages for detailed explanations of code changes. ACKs for top commit: pablomartin4btc: tACK a6a746e vasild: ACK a6a746e Tree-SHA512: ad2e2a31fc65f9459d38b5f226281820fb6e4bb044ed70413157fa339303c511d4ea70a3a21352cc6a200cba057e394c1ba92f8a8f7faeec2955707e95461d9d
73d9230 guix: use GCC 11 for macOS builds (fanquake) Pull request description: Note that this is just the native compiler, which is used to build the toolchain we use to build the actual binaries. Partially motivated by #29091, where it could now be a bit confusing if we are explicitly using GCC 10 in our release toolchain, when our minimum required is 11 (this can't be bumped to 12 due to build issues with native tools). At the same time, remove `gcc-toolchain "static"` from the macOS build env. ACKs for top commit: hebasto: ACK 73d9230. Tree-SHA512: 31392290b327cc0e19498cf053b7c9eb19e70295933d650b29b29589356ad455d35b6addcdaae702a9635513c07070fb17d61bcb48445d3cb1a9d4a93aa6ddf3
Mirrors minimum g++-11 requirements from bitcoin#29091. 1. Update gcc version in the "ubuntu-jammy-native" job. 2. Switch the "cross-build" task to the debian::bookworm image, which effectively bumps `x86_64-w64-mingw32-g++-posix` version to 12.2
475cf6d ci: Test CMake edge cases (Hennadii Stepanov) Pull request description: This PR follows the minimum g++-11 requirements from bitcoin#29091: 1. Update gcc version in the "ubuntu-jammy-native" job. 2. Switch the "cross-build" task to the debian::bookworm image, which effectively bumps `x86_64-w64-mingw32-g++-posix` version to 12.2. This PR should be merged before the next sync/rebase cycle, which is about to happen. ACKs for top commit: m3dwards: utACK 475cf6d pablomartin4btc: cr ACK 475cf6d Tree-SHA512: 9413a415e0f13754a04ba97ff5d8da2ae5f00385928ff02b07a564dafe48aa397fbd9299f4fa79983997aed00a95039ee5cdc441cf49baa37e40a27e70b368db
85e480a doc: Update NetBSD Build Guide (Hennadii Stepanov) Pull request description: This PR updates the NetBSD Build Guide to reflect: - the recent NetBSD Release - GCC minimum supported version update (#28348 and #29091) - Python minimum supported version update (#28211) Also a smaller package set has been suggested: - `boost-headers` instead of the full `boost` - `qt5-qtbase qt5-qttools` instead of the full `qt5` (similar to #29932 and #29947). ACKs for top commit: maflcko: utACK 85e480a Tree-SHA512: 0848b6f169a00f2da78eea452fd116193aece853680f4e615ba1df654246ec2a9d1600a4cfb238eb9305b72bbe4b2873519bf1e2987eaaf48aba900c64e85a48
This drops support for vanilla Ubuntu Focal 20.04 and Debian (Oldstable) Bullseye, compiling from source. Users on those operating systems would have to stick with a pre-compiled release, a previous release branch of Bitcoin Core, upgrade their system, compile their own compiler, or use a non-vanilla PPA or package manager.
Otherwise, g++-11 is offered by common distributions:
g++-11
)g++-12
)