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
guix: use GCC 12.3.0 to build releases #27897
guix: use GCC 12.3.0 to build releases #27897
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. |
efef603
to
7ffe71a
Compare
Concept ACK. I'm having trouble finding where ppc64 became unsupported in guix though. There were lots of refactors and I'm guessing some wildcard change is maybe responsible? I'd like to understand why it was disabled just in case it was accidental. In that case, we'd want to upstream a fix I think? |
cbee1d7 depends: modernize clang flags (Cory Fields) 2a85857 ci: disable false-positive warnings for now (Cory Fields) Pull request description: This is a cleaner and simpler alternative to #25098. Inspired by [this conversation](#27737 (comment)). The diff is large but the change itself is quite small. Fixes builds with llvm >= 11 in guix by working around the problem. As a bonus, this is much cleaner and more maintainable than what we had before. See the updated comment for more info. At a high level: rather than playing tricks and trying to work around clang's default includes, disable them and re-add what we want. ACKs for top commit: fanquake: ACK cbee1d7 - tested Guix and the depends cross-compile. Would like to move this along, to unblock #27676, which itself might be a blocker for #27897. Note that macOS might seem somewhat in flux for the moment, but once we finish the migration to LLVM Clang + LLD, things will be must simpler, and ultimately more maintainable. TheCharlatan: ACK cbee1d7 Tree-SHA512: 5a8300be528f550e15ab23d869e77df7a62201c6d40c0384795a9eecee38118a676e0b79b2b76c5e597597181443caada54a01b75a544dbcde76da1deba8e3a4
7ffe71a
to
83cecce
Compare
I think you forgot to bump the CI? diff --git a/ci/test/00_setup_env_win64.sh b/ci/test/00_setup_env_win64.sh
index 3adfbf6e4..e0671e734 100755
--- a/ci/test/00_setup_env_win64.sh
+++ b/ci/test/00_setup_env_win64.sh
@@ -7,7 +7,7 @@
export LC_ALL=C.UTF-8
export CONTAINER_NAME=ci_win64
-export CI_IMAGE_NAME_TAG=ubuntu:22.04 # Check that Jammy can cross-compile to win64
+export CI_IMAGE_NAME_TAG=debian:bookworm # Check that Bookworm (gcc 12, similar to guix) can cross-compile
export HOST=x86_64-w64-mingw32
export DPKG_ADD_ARCH="i386"
export PACKAGES="python3 nsis g++-mingw-w64-x86-64-posix wine-binfmt wine64 wine32 file" and the same for arm? Similar to commit 0999999 |
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.
Looking good to me.
Mind adding a more verbose commit message for "guix: remove input labels"? I could use some help with the motivation for that one.
Concept ACK on this. |
FWIW, libtapi configuration step succeeds for the Guix master branch (94ac93042f09b4ba68b7b64ed1feeebd3dab1ea4). However, the further build step fails. |
83cecce
to
b67617b
Compare
@theuni I will address your comments soon. Currently working on some additional changes so we can push the time-machine commit further along, and potentially take advantage of the now merged: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64100. I've opened one additional issue upstream: https://lists.gnu.org/archive/html/bug-guix/2023-07/msg00009.html. |
Sent some additional patches upstream, to update packages we use: |
dd793f0
to
d0a1dc0
Compare
d0a1dc0
to
60f2811
Compare
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
Retain native GCC 10 toolchain for macOS, to prevent compile failures in native tools (this will be removed entirely when we tansition to LLD). Update the vmov-alignment patch, for changes in GCC 12.
There non-determinism issues when compiling for this target across x86_64 and aarch64.
60f2811
to
10d5653
Compare
Guix Build (aarch64): 6dcb27a8e89def2e9ab3de7a79b9923795353bbf5dcb29832820a8105f701f07 guix-build-10d56530e097/output/aarch64-linux-gnu/SHA256SUMS.part
bd8242c2ce7cf1e5f5b6ae76a6d5d79061919b86cb80860fcd0a38f9e65a5ea6 guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu-debug.tar.gz
d2f4525d5a65e76ec2f62697be2e5b2f4d52d584ab63ab708471f674977b8fea guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu.tar.gz
8e922ca2ec17e3987ad92cc378fac1accad5fd1b1c9e2ecb68bdabf1b905e12b guix-build-10d56530e097/output/arm-linux-gnueabihf/SHA256SUMS.part
06ef9e7bc84f470509f97c4dfb7a23a3cde770eaff78f6b93faa94afc40454c2 guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf-debug.tar.gz
d2c2486a35b9935d68d71ef3cdcc4f58522887910a165868e441085337ba0639 guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf.tar.gz
721f036529908cd406e3e1e0f6a2451b34e77c4cadb68e0fb8c711fad4853cd5 guix-build-10d56530e097/output/arm64-apple-darwin/SHA256SUMS.part
a777361b7bcc9fd3353a91e185d48508079ef5ec88494970d12eeaf9e8106c22 guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.tar.gz
8de7ba4927de09308e02b9c05b84d8cf75bf8e46e87a8330d72682e873e8fdfd guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.zip
6bd05be85a6e32c1a99949400bc390a84c7b7f79cf40facf4e1db7a99e354dba guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin.tar.gz
a18b6aeabfb3b201b5b68305968505e3d10d50e1fd1f8e142da97d8878664c8a guix-build-10d56530e097/output/dist-archive/bitcoin-10d56530e097.tar.gz
cf0f43b1d9ac91d7993c7ee63316e938935ee6998d7c00409a7a1f8e71b59249 guix-build-10d56530e097/output/powerpc64-linux-gnu/SHA256SUMS.part
80beedf085d1a1bb15ced0a411f9d74668e7bbafce6f1701ebbcb1895634023b guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu-debug.tar.gz
d12eac8a15649fd343773738fb3893bba4a90ddce4a5ccd397ff24bd36dea7a8 guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu.tar.gz
0ab804612d75915d84a89221167ce411483a5cbcba40b46663de0391fbe427a2 guix-build-10d56530e097/output/riscv64-linux-gnu/SHA256SUMS.part
7a980cfdf17b4f0ad51dd6fcc59a923e2d825352dc06dc51c8021ff43ceb3d32 guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu-debug.tar.gz
06aad03534b5986d1a091f0f04289c38197041342b5a398205feb7b5fa94a880 guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu.tar.gz
c82ca396f11e6383f5d4a9c616fd070d642702841c477001f2577a0830c96a82 guix-build-10d56530e097/output/x86_64-apple-darwin/SHA256SUMS.part
835cc72a7582e8d049efeca7d074aa4ce73699dc7c9f0545a4b69cf8f72a3b01 guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.tar.gz
37af26f6761bd0a731c355b66d6f763f179142f6c6661c81e45bca8e5458fc50 guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.zip
b239b17dd90875baf50cb4426115a5b26f3c64fc817124ec157183c58bccaef1 guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin.tar.gz
b6a114afbce9f51332feeda77e51360fce8c9e090dbdd51f5d7953f3b53024e9 guix-build-10d56530e097/output/x86_64-linux-gnu/SHA256SUMS.part
99a2d0f622a9b9e99e5c334ec97f0dfb60ae2d1e159a84ae3d764aff7f05c973 guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu-debug.tar.gz
eac4a6d47595f28dd92fa770ad361c649123fc01c2337f5160f82937ee3c1ced guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu.tar.gz
9ce4d66d6d89efcb90d4cff27e0430267930484244a420254b0842eb2255c63d guix-build-10d56530e097/output/x86_64-w64-mingw32/SHA256SUMS.part
c3c0420b702965b2a4b7f9d5528f75ac067f3717df33c26d79d2c6a43e62271d guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-debug.zip
402938d010fed8140953425e77d6c0adf432bc0b6c3bc41b202fc3ab57dc3e78 guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-setup-unsigned.exe
98c9a31988b46554a696d30576590b7999a8957020bf8942caf0e499094794f7 guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-unsigned.tar.gz
37360c7fd4fae718c581a76e820bf495ea4470d6938c02c7ff3561523bcca3ca guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64.zip |
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.
Re- Concept ACK.
Removing ppcle for now is less than ideal, but it's not worth having as a blocker for basically all pending toolchain/c++20 work.
Only suggestion is: Are there any upstream non-determinism bug reports we can link to? If not, IMO we should file them so the knowledge exists somewhere other than in your head :)
(copying what I added to the PR description)
Not yet. We still need to minify a reproducer, which is also non-trivial. I will work on doing that, but also don't want it as a blocker to moving forward here. |
Guix build (x86_64) (matches aarch64): 6dcb27a8e89def2e9ab3de7a79b9923795353bbf5dcb29832820a8105f701f07 guix-build-10d56530e097/output/aarch64-linux-gnu/SHA256SUMS.part
bd8242c2ce7cf1e5f5b6ae76a6d5d79061919b86cb80860fcd0a38f9e65a5ea6 guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu-debug.tar.gz
d2f4525d5a65e76ec2f62697be2e5b2f4d52d584ab63ab708471f674977b8fea guix-build-10d56530e097/output/aarch64-linux-gnu/bitcoin-10d56530e097-aarch64-linux-gnu.tar.gz
8e922ca2ec17e3987ad92cc378fac1accad5fd1b1c9e2ecb68bdabf1b905e12b guix-build-10d56530e097/output/arm-linux-gnueabihf/SHA256SUMS.part
06ef9e7bc84f470509f97c4dfb7a23a3cde770eaff78f6b93faa94afc40454c2 guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf-debug.tar.gz
d2c2486a35b9935d68d71ef3cdcc4f58522887910a165868e441085337ba0639 guix-build-10d56530e097/output/arm-linux-gnueabihf/bitcoin-10d56530e097-arm-linux-gnueabihf.tar.gz
721f036529908cd406e3e1e0f6a2451b34e77c4cadb68e0fb8c711fad4853cd5 guix-build-10d56530e097/output/arm64-apple-darwin/SHA256SUMS.part
a777361b7bcc9fd3353a91e185d48508079ef5ec88494970d12eeaf9e8106c22 guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.tar.gz
8de7ba4927de09308e02b9c05b84d8cf75bf8e46e87a8330d72682e873e8fdfd guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin-unsigned.zip
6bd05be85a6e32c1a99949400bc390a84c7b7f79cf40facf4e1db7a99e354dba guix-build-10d56530e097/output/arm64-apple-darwin/bitcoin-10d56530e097-arm64-apple-darwin.tar.gz
a18b6aeabfb3b201b5b68305968505e3d10d50e1fd1f8e142da97d8878664c8a guix-build-10d56530e097/output/dist-archive/bitcoin-10d56530e097.tar.gz
cf0f43b1d9ac91d7993c7ee63316e938935ee6998d7c00409a7a1f8e71b59249 guix-build-10d56530e097/output/powerpc64-linux-gnu/SHA256SUMS.part
80beedf085d1a1bb15ced0a411f9d74668e7bbafce6f1701ebbcb1895634023b guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu-debug.tar.gz
d12eac8a15649fd343773738fb3893bba4a90ddce4a5ccd397ff24bd36dea7a8 guix-build-10d56530e097/output/powerpc64-linux-gnu/bitcoin-10d56530e097-powerpc64-linux-gnu.tar.gz
0ab804612d75915d84a89221167ce411483a5cbcba40b46663de0391fbe427a2 guix-build-10d56530e097/output/riscv64-linux-gnu/SHA256SUMS.part
7a980cfdf17b4f0ad51dd6fcc59a923e2d825352dc06dc51c8021ff43ceb3d32 guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu-debug.tar.gz
06aad03534b5986d1a091f0f04289c38197041342b5a398205feb7b5fa94a880 guix-build-10d56530e097/output/riscv64-linux-gnu/bitcoin-10d56530e097-riscv64-linux-gnu.tar.gz
c82ca396f11e6383f5d4a9c616fd070d642702841c477001f2577a0830c96a82 guix-build-10d56530e097/output/x86_64-apple-darwin/SHA256SUMS.part
835cc72a7582e8d049efeca7d074aa4ce73699dc7c9f0545a4b69cf8f72a3b01 guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.tar.gz
37af26f6761bd0a731c355b66d6f763f179142f6c6661c81e45bca8e5458fc50 guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin-unsigned.zip
b239b17dd90875baf50cb4426115a5b26f3c64fc817124ec157183c58bccaef1 guix-build-10d56530e097/output/x86_64-apple-darwin/bitcoin-10d56530e097-x86_64-apple-darwin.tar.gz
b6a114afbce9f51332feeda77e51360fce8c9e090dbdd51f5d7953f3b53024e9 guix-build-10d56530e097/output/x86_64-linux-gnu/SHA256SUMS.part
99a2d0f622a9b9e99e5c334ec97f0dfb60ae2d1e159a84ae3d764aff7f05c973 guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu-debug.tar.gz
eac4a6d47595f28dd92fa770ad361c649123fc01c2337f5160f82937ee3c1ced guix-build-10d56530e097/output/x86_64-linux-gnu/bitcoin-10d56530e097-x86_64-linux-gnu.tar.gz
9ce4d66d6d89efcb90d4cff27e0430267930484244a420254b0842eb2255c63d guix-build-10d56530e097/output/x86_64-w64-mingw32/SHA256SUMS.part
c3c0420b702965b2a4b7f9d5528f75ac067f3717df33c26d79d2c6a43e62271d guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-debug.zip
402938d010fed8140953425e77d6c0adf432bc0b6c3bc41b202fc3ab57dc3e78 guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-setup-unsigned.exe
98c9a31988b46554a696d30576590b7999a8957020bf8942caf0e499094794f7 guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64-unsigned.tar.gz
37360c7fd4fae718c581a76e820bf495ea4470d6938c02c7ff3561523bcca3ca guix-build-10d56530e097/output/x86_64-w64-mingw32/bitcoin-10d56530e097-win64.zip |
|
Concept ACK |
Guix builds (x86 & aarch64)
|
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 10d5653
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.
That option hasn't yet been released in any version of GCC (it will be in GCC 14). |
Switch to using GCC
12.3.0
to build release binaries.Temporarily disables the
powerpc64le-linux-gnu
target due to non-determinism issues when building acrossaarch64
andx86_64
. Trying to fix the non-determinism was going to require trying to selectively disable optimization flags, which is already not ideal (and didn't fix all issues), and the migration to GCC 12 as our release compiler is now the blocker for multiple other (c++20 and similar) changes, so leaving this blocked on thepowerpc64le
binaries does not seem like a good tradeoff.