guix: build with `_GLIBCXX_USE_DEPRECATED=0` #36269

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:gcc_no_deprecated changing 4 files +4 −4
  1. fanquake commented at 10:22 AM on September 16, 2026: member

    _GLIBCXX_USE_DEPRECATED is defined by default, disable it, which saves a few bytes worth of debug symbols.

    Defined to the value 1 by default. Not configurable. ABI-changing. Turning this off removes older ARM-style iostreams code, and other anachronisms from the API. This macro is dependent on the version of the standard being tracked, and as a result may give different results for different -std options.

    See: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html.

  2. DrahtBot added the label Build system on Sep 16, 2026
  3. DrahtBot commented at 10:23 AM on September 16, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    External sites

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process.

    Type Reviewers
    Concept ACK hebasto

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    No conflicts as of last run.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. DrahtBot added the label Needs rebase on Sep 29, 2026
  5. fanquake force-pushed on Sep 30, 2026
  6. fanquake marked this as ready for review on Sep 30, 2026
  7. DrahtBot removed the label Needs rebase on Sep 30, 2026
  8. fanquake force-pushed on Nov 6, 2026
  9. hebasto commented at 3:57 PM on November 6, 2026: member

    Concept ACK.

  10. hebasto commented at 3:52 PM on November 7, 2026: member

    My Guix build:

    $ uname -m && find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    aarch64
    2aeadb5afdd2f7eae7fb2f2ba7e1e1c0e56f8a183e60947888fe46f6058da59f  guix-build-323e5e4f6c3f/output/aarch64-linux-gnu/SHA256SUMS.part
    92adfea31c81d656b818675c22833c6e8f56b5bb8c6be83b749a137be982b947  guix-build-323e5e4f6c3f/output/aarch64-linux-gnu/bitcoin-323e5e4f6c3f-aarch64-linux-gnu-debug.tar.gz
    79cd0f951c88e21517162eb9da1e6f3ea8209b330584f25f9234f7bf581c434c  guix-build-323e5e4f6c3f/output/aarch64-linux-gnu/bitcoin-323e5e4f6c3f-aarch64-linux-gnu.tar.gz
    7f66c1f4ab8c12b0760c0ed4d2c908a5179d9583d14e4faabeef384bc1a0528b  guix-build-323e5e4f6c3f/output/arm-linux-gnueabihf/SHA256SUMS.part
    be869fbdc3347b9c6fd42fcef3d755cd691171daa7328da18dba500692046b23  guix-build-323e5e4f6c3f/output/arm-linux-gnueabihf/bitcoin-323e5e4f6c3f-arm-linux-gnueabihf-debug.tar.gz
    396440d7f458db2d5571c2c5c09e8bbc7098ee2aa53d044da90eb3fdf4d0b622  guix-build-323e5e4f6c3f/output/arm-linux-gnueabihf/bitcoin-323e5e4f6c3f-arm-linux-gnueabihf.tar.gz
    fb2a08e3c4d12f3101ff068c47508cee85a4b19fd015a7df8f83ba5d141d8009  guix-build-323e5e4f6c3f/output/arm64-apple-darwin/SHA256SUMS.part
    e1252ec23d918aa3d5f04f9edffca289522c2d24e26c3fd75becbe9d512491ad  guix-build-323e5e4f6c3f/output/arm64-apple-darwin/bitcoin-323e5e4f6c3f-arm64-apple-darwin-codesigning.tar.gz
    439e081eba5cb92efd8e5f6c8030bcb54f4b53a730b1d9dc7ee06a1087d07920  guix-build-323e5e4f6c3f/output/arm64-apple-darwin/bitcoin-323e5e4f6c3f-arm64-apple-darwin-unsigned.tar.gz
    49e17ff93e10b933373dfd40f03a1e616f8a25a5ec5a9089742cc5c26afbc303  guix-build-323e5e4f6c3f/output/arm64-apple-darwin/bitcoin-323e5e4f6c3f-arm64-apple-darwin-unsigned.zip
    3e66f93973db056053d7a0634358b8f780d1f868308542da493cd1c6c0c4c42d  guix-build-323e5e4f6c3f/output/dist-archive/bitcoin-323e5e4f6c3f.tar.gz
    c7d68883b7cfd19f0bb3ac052a4f4b00153761e8a4bfc1a5bde502ecae148e22  guix-build-323e5e4f6c3f/output/powerpc64-linux-gnu/SHA256SUMS.part
    a22dff564826777df1f3611ef700501ecdebdc8f0ce4af1ff55bcb3b566ebaef  guix-build-323e5e4f6c3f/output/powerpc64-linux-gnu/bitcoin-323e5e4f6c3f-powerpc64-linux-gnu-debug.tar.gz
    d617513a372ff35efb3d3e3760185f5aeca59db8875abb625a1caee4a06e556a  guix-build-323e5e4f6c3f/output/powerpc64-linux-gnu/bitcoin-323e5e4f6c3f-powerpc64-linux-gnu.tar.gz
    168620df8a9a32dfb46bcdb012b77fd85b6280dda5cdbd26c4b897df376b635d  guix-build-323e5e4f6c3f/output/riscv64-linux-gnu/SHA256SUMS.part
    cdcdf91e94692b9d30094b7820790d2f025e45e4da8b04d9fdedbd6082b7a8a8  guix-build-323e5e4f6c3f/output/riscv64-linux-gnu/bitcoin-323e5e4f6c3f-riscv64-linux-gnu-debug.tar.gz
    2fe4ef028b821b97fa6f49e6848f6a17cdc96987722dd96246abad27f8974994  guix-build-323e5e4f6c3f/output/riscv64-linux-gnu/bitcoin-323e5e4f6c3f-riscv64-linux-gnu.tar.gz
    44dc6e1ba00bf9bcdef5d43f980b3334b9bb2c015dee26e477b5c003057b31bf  guix-build-323e5e4f6c3f/output/x86_64-apple-darwin/SHA256SUMS.part
    8f26006e981dfaf8ef5e9745f5886fd096619504333b0d2a8e4c486c20749da5  guix-build-323e5e4f6c3f/output/x86_64-apple-darwin/bitcoin-323e5e4f6c3f-x86_64-apple-darwin-codesigning.tar.gz
    8cb95e3f6797376b4d279d893a64233056bb2ec54cf8d34a4f4f9f663f571d45  guix-build-323e5e4f6c3f/output/x86_64-apple-darwin/bitcoin-323e5e4f6c3f-x86_64-apple-darwin-unsigned.tar.gz
    8310850b42c066b0d34a614fd79f1583f2cea588ac9bc1aa28417cb4d334eb0f  guix-build-323e5e4f6c3f/output/x86_64-apple-darwin/bitcoin-323e5e4f6c3f-x86_64-apple-darwin-unsigned.zip
    4ea22816a723dd43e35a6048c8779b85f87d34f29bdaa7f976e4addba1e53997  guix-build-323e5e4f6c3f/output/x86_64-linux-gnu/SHA256SUMS.part
    843403c6a423591bff4a6799366d04a50329b966c3556c0f5f5dde940d2c731f  guix-build-323e5e4f6c3f/output/x86_64-linux-gnu/bitcoin-323e5e4f6c3f-x86_64-linux-gnu-debug.tar.gz
    09bf5cf467785cfd31272e8f88cb1473ab2f436dc305ca604f16014529683c4e  guix-build-323e5e4f6c3f/output/x86_64-linux-gnu/bitcoin-323e5e4f6c3f-x86_64-linux-gnu.tar.gz
    5aa466dc3d8693f75a9ff99b62e5d9cb80f5a0d91bcccba1cdd4f4ffc309a229  guix-build-323e5e4f6c3f/output/x86_64-w64-mingw32/SHA256SUMS.part
    4930c5640535f634b2528098a35e36b7be82db36ff34bf67bea85ceae08aad7e  guix-build-323e5e4f6c3f/output/x86_64-w64-mingw32/bitcoin-323e5e4f6c3f-win64-codesigning.tar.gz
    c6dfccb7e6700be5be6e606e42d8c64bb8a316d6400e8d49c024bcab76d38777  guix-build-323e5e4f6c3f/output/x86_64-w64-mingw32/bitcoin-323e5e4f6c3f-win64-debug.zip
    188b1b2f6b5c00e6f8b0b2653af702fab6eea31c0231fb338d91a38f67eab4b0  guix-build-323e5e4f6c3f/output/x86_64-w64-mingw32/bitcoin-323e5e4f6c3f-win64-setup-unsigned.exe
    c46e398043959f13e4180b2651baefa77745a32136c9a0e2938c365176ce9eca  guix-build-323e5e4f6c3f/output/x86_64-w64-mingw32/bitcoin-323e5e4f6c3f-win64-unsigned.zip
    
  11. in contrib/guix/libexec/build_linux.sh:26 in 323e5e4f6c
      22 | @@ -23,7 +23,7 @@ make -C depends --jobs="$JOBS" HOST="$HOST" \
      23 |                                     NO_QT=1
      24 |  
      25 |  # CFLAGS
      26 | -HOST_CFLAGS="-O2 -g"
      27 | +HOST_CFLAGS="-O2 -g -D_GLIBCXX_USE_DEPRECATED=0"
    


    hebasto commented at 10:38 AM on November 9, 2026:

    Wouldn’t it be clearer to move -D_GLIBCXX_USE_DEPRECATED=0 into HOST_CXXFLAGS everywhere?


    fanquake commented at 2:04 PM on November 9, 2026:

    Sure, moved.

  12. hebasto commented at 10:44 AM on November 9, 2026: member

    Consider a (mostly theoretical) case where a deprecated API sneaks into the code via depends. Such a change would be caught only during a Guix build, which makes a Guix CI job more desirable.

  13. guix: build with _GLIBCXX_USE_DEPRECATED=0
    _GLIBCXX_USE_DEPRECATED is defined by default, disable it, which saves a
    few bytes worth of debug symbols.
    
    > Defined to the value 1 by default. Not configurable. ABI-changing.
    > Turning this off removes older ARM-style iostreams code, and other
    > anachronisms from the API. This macro is dependent on the version of
    > the standard being tracked, and as a result may give different results
    > for different -std options.
    
    See: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html.
    6a6c6e1499
  14. fanquake force-pushed on Nov 9, 2026
  15. fanquake commented at 2:21 PM on November 9, 2026: member

    Actually going to leave this as-is for now (might revisit in future). In any case, having #36082 land is also worthwhile.

  16. fanquake closed this on Nov 9, 2026


github-metadata-mirror

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-11-15 02:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me