build: patch qt to explicitly define previously implicit header include #23580

pull kittywhiskers wants to merge 1 commits into bitcoin:master from kittywhiskers:macos12_patch changing 2 files +23 −0
  1. kittywhiskers commented at 6:10 pm on November 23, 2021: contributor

    Description

    macOS Monterey has refactored some includes such that implicitly defined headers were no longer exposed and that in turns breaks building Qt on macOS 12. First observed when building on an M1 Pro. See “Additional Reading” for more information.

    Additional Reading

  2. DrahtBot added the label Build system on Nov 23, 2021
  3. MarcoFalke added the label DrahtBot Guix build requested on Nov 23, 2021
  4. katesalazar commented at 6:54 pm on November 23, 2021: contributor
    Concept ACK.
  5. in depends/patches/qt/fix_montery_include.patch:11 in 132ff71e85 outdated
    0@@ -0,0 +1,11 @@
    1+diff --git a/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h b/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
    


    fanquake commented at 0:19 am on November 24, 2021:
    Can you add a comment here, the same as our other qt patches. Linking to the upstream commit.

    kittywhiskers commented at 8:34 am on November 24, 2021:
    Done!
  6. fanquake commented at 0:23 am on November 24, 2021: member
    Even though this is included in #23489, it will need to be backported separately to the 22.x branch. Please use a more informative commit message. i.e build: patch qt in depends to fix missing header include, and your PR description sections as the commit description.
  7. fanquake added the label Needs backport (22.x) on Nov 24, 2021
  8. build: patch qt to explicitly define previously implicit header include
    macOS Monterey has refactored some includes such that implicitly defined headers were no longer exposed and that in turns breaks building Qt on macOS 12.
    
    Additional Resources:
     - https://bugreports.qt.io/browse/QTBUG-97855
     - https://codereview.qt-project.org/c/qt/qtbase/+/378706
     - https://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/cocoa?id=dece6f5840463ae2ddf927d65eb1b3680e34a547
    8196b0a2bc
  9. kittywhiskers force-pushed on Nov 24, 2021
  10. hebasto approved
  11. hebasto commented at 10:00 am on November 24, 2021: member

    ACK 8196b0a2bc63c35769eca213cba4a5844a737b90, verified that the patch is applied cleanly:

     0$ make -C depends qt_preprocessed
     1...
     2Preprocessing qt...
     3patching file qtbase/configure
     4patching file qtbase/mkspecs/features/qt_module.prf
     5patching file qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
     6patching file qtbase/src/plugins/plugins.pro
     7patching file qtbase/mkspecs/android-clang/qmake.conf
     8patching file qtbase/mkspecs/common/android-base-head.conf
     9patching file qtbase/mkspecs/common/android-base-tail.conf
    10patching file qtbase/src/plugins/platforms/android/androidjnimain.cpp
    11patching file qtbase/mkspecs/common/android-base-head.conf
    12patching file qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
    13patching file qtbase/mkspecs/features/mac/default_post.prf
    14patching file qtbase/mkspecs/common/mac.conf
    15patching file qtbase/mkspecs/features/qmake_use.prf
    16patching file qtbase/mkspecs/features/qt_configure.prf
    17patching file qtbase/src/tools/moc/main.cpp
    18patching file qtbase/src/corelib/global/qendian.h
    19patching file qtbase/src/corelib/tools/qbytearraymatcher.h
    20patching file qtbase/src/tools/moc/generator.cpp
    21patching file qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
    22make: Leaving directory '/home/hebasto/GitHub/bitcoin/depend
    
  12. DrahtBot commented at 2:21 pm on November 24, 2021: member

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #23489 (build: Qt 5.15.2 by fanquake)
    • #22555 (build: Fix make apk for Android w/ non-default SOURCES_PATH in depends by hebasto)
    • #22552 (build: Improve depends build system robustness by hebasto)
    • #22487 (build, qt: Fix cross-compiling detection on M1-based macOS (aarch64) by hebasto)

    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.

  13. hebasto commented at 6:44 pm on November 24, 2021: member

    Guix builds:

     0$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     10e05d664a4d31bfa06c435ebcd54dd7ad931f54bd4e1f0d7ee1e656cfd838e8d  guix-build-8196b0a2bc63/output/aarch64-linux-gnu/SHA256SUMS.part
     2a5b582ebd605afd26cfd3fdae7c3da80da397db8d499049e53bbb9c2e9e9bf2c  guix-build-8196b0a2bc63/output/aarch64-linux-gnu/bitcoin-8196b0a2bc63-aarch64-linux-gnu-debug.tar.gz
     3d3047e352ed4902ca3d6cb006094c3deeb6d4b24cc19716d4f525a123f093856  guix-build-8196b0a2bc63/output/aarch64-linux-gnu/bitcoin-8196b0a2bc63-aarch64-linux-gnu.tar.gz
     4e48ac638316c738bab3cbb3d58b22e286f3df0f4e1865352b8503ad37424e984  guix-build-8196b0a2bc63/output/arm-linux-gnueabihf/SHA256SUMS.part
     5be48a254ad97a09a0274d58c4bcb7db0ff5abc6ac9b9c8ee6ad44c15d611a581  guix-build-8196b0a2bc63/output/arm-linux-gnueabihf/bitcoin-8196b0a2bc63-arm-linux-gnueabihf-debug.tar.gz
     65125f5d9ad51116f2d98691d82b73e8a40bc8fb6152e59bc944ea4cf0897d130  guix-build-8196b0a2bc63/output/arm-linux-gnueabihf/bitcoin-8196b0a2bc63-arm-linux-gnueabihf.tar.gz
     76369fb5d9bf94df26a469c8ab9455cecb30b3a7c45ddb117be8e24d6189a37b4  guix-build-8196b0a2bc63/output/dist-archive/bitcoin-8196b0a2bc63.tar.gz
     8be66c7dd8a77b60795ddcd794eb408b727ecd2c07a5801506d533866ab636a68  guix-build-8196b0a2bc63/output/powerpc64-linux-gnu/SHA256SUMS.part
     9272441042f07f60eea66cd3329bcb4da6c22787dca480e9ccc36c21982813ca6  guix-build-8196b0a2bc63/output/powerpc64-linux-gnu/bitcoin-8196b0a2bc63-powerpc64-linux-gnu-debug.tar.gz
    10595f213ed5ca384df8a0902dcce70db7bbfdee3bb401b101ad480579b0bf8f34  guix-build-8196b0a2bc63/output/powerpc64-linux-gnu/bitcoin-8196b0a2bc63-powerpc64-linux-gnu.tar.gz
    111abeb3645c4a4b764cad0c2cf9fa5098472b16238027ee35e523ced415495503  guix-build-8196b0a2bc63/output/powerpc64le-linux-gnu/SHA256SUMS.part
    12be301d6de1a44a6db17da0219f374ef6ea92095cf643ff2d4dfd1601ba44cacf  guix-build-8196b0a2bc63/output/powerpc64le-linux-gnu/bitcoin-8196b0a2bc63-powerpc64le-linux-gnu-debug.tar.gz
    13bcbded980aad641b010f16324b5dd394119dba223ee076df7efe0896f6b8d477  guix-build-8196b0a2bc63/output/powerpc64le-linux-gnu/bitcoin-8196b0a2bc63-powerpc64le-linux-gnu.tar.gz
    1451d71b9216b857dfff81a28e8cc2fc7a40569edeec0af54c268c640a5e1f62b0  guix-build-8196b0a2bc63/output/riscv64-linux-gnu/SHA256SUMS.part
    15199b9586ab2b924a9f9519a91399a133e6d479fcba5a70a82f20355a3220314e  guix-build-8196b0a2bc63/output/riscv64-linux-gnu/bitcoin-8196b0a2bc63-riscv64-linux-gnu-debug.tar.gz
    1613f8787c17815f6d1fefccf11ea0008bfbe9c20662663ab01ac47829813c7735  guix-build-8196b0a2bc63/output/riscv64-linux-gnu/bitcoin-8196b0a2bc63-riscv64-linux-gnu.tar.gz
    171bc7434433cc7276c45b50c9b6235f15b1a174b43b164d921a91c9bfe72bdc62  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/SHA256SUMS.part
    18d06073a444a587615b6b908333ea017c354a0bad965f35c144661a1b03128613  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/bitcoin-8196b0a2bc63-osx-unsigned.dmg
    19ddcfa4de1773bf4ca48ebebb8cf0cece119f559ac6e1df52f96a27714cfc3023  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/bitcoin-8196b0a2bc63-osx-unsigned.tar.gz
    20a9c6005d7034cfd9a5db0a36a659a07a1dd41c067e9b568391aeb08c9dbeae0a  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/bitcoin-8196b0a2bc63-osx64.tar.gz
    2172394cd581cc24df7c86ecedc8d291bcc1f83f8fb65b441d086e4e4da4371cdb  guix-build-8196b0a2bc63/output/x86_64-linux-gnu/SHA256SUMS.part
    223001a2e7f3d2a6d3c9f98623647ddb98455618c7cd4e85d153b053c53c950037  guix-build-8196b0a2bc63/output/x86_64-linux-gnu/bitcoin-8196b0a2bc63-x86_64-linux-gnu-debug.tar.gz
    23156cf1e8e3e64890e9204280234b6c5f68da3e27637a67e14caf88111cd0f3fc  guix-build-8196b0a2bc63/output/x86_64-linux-gnu/bitcoin-8196b0a2bc63-x86_64-linux-gnu.tar.gz
    24faa104865f50c754c289f66ec49e47a451b643bcff581a37fafc64e91689c018  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/SHA256SUMS.part
    257973638f2730b8945d84ff2f1448f136b273cb68d04ed22e52d50900446070b5  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win-unsigned.tar.gz
    26bcc4fa825285518208758280f6479e7af67ece45c9619ce10f65aa50078c7100  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win64-debug.zip
    272e73dc1a535d6ae622f13485c1f6d596485ffdfbdeb70ce158a5824ae3b3fede  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win64-setup-unsigned.exe
    289c4ee4c09c7c3703b18edc59d9939148341ba5c80ba9b987f34fd452d3be8952  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win64.zip
    
  14. fanquake renamed this:
    build: explicitly define previously implicit header include
    build: patch qt to explicitly define previously implicit header include
    on Nov 25, 2021
  15. fanquake approved
  16. fanquake commented at 7:32 am on November 25, 2021: member

    ACK 8196b0a2bc63c35769eca213cba4a5844a737b90

    Guix Build:

     0bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     10e05d664a4d31bfa06c435ebcd54dd7ad931f54bd4e1f0d7ee1e656cfd838e8d  guix-build-8196b0a2bc63/output/aarch64-linux-gnu/SHA256SUMS.part
     2a5b582ebd605afd26cfd3fdae7c3da80da397db8d499049e53bbb9c2e9e9bf2c  guix-build-8196b0a2bc63/output/aarch64-linux-gnu/bitcoin-8196b0a2bc63-aarch64-linux-gnu-debug.tar.gz
     3d3047e352ed4902ca3d6cb006094c3deeb6d4b24cc19716d4f525a123f093856  guix-build-8196b0a2bc63/output/aarch64-linux-gnu/bitcoin-8196b0a2bc63-aarch64-linux-gnu.tar.gz
     4e48ac638316c738bab3cbb3d58b22e286f3df0f4e1865352b8503ad37424e984  guix-build-8196b0a2bc63/output/arm-linux-gnueabihf/SHA256SUMS.part
     5be48a254ad97a09a0274d58c4bcb7db0ff5abc6ac9b9c8ee6ad44c15d611a581  guix-build-8196b0a2bc63/output/arm-linux-gnueabihf/bitcoin-8196b0a2bc63-arm-linux-gnueabihf-debug.tar.gz
     65125f5d9ad51116f2d98691d82b73e8a40bc8fb6152e59bc944ea4cf0897d130  guix-build-8196b0a2bc63/output/arm-linux-gnueabihf/bitcoin-8196b0a2bc63-arm-linux-gnueabihf.tar.gz
     76369fb5d9bf94df26a469c8ab9455cecb30b3a7c45ddb117be8e24d6189a37b4  guix-build-8196b0a2bc63/output/dist-archive/bitcoin-8196b0a2bc63.tar.gz
     8be66c7dd8a77b60795ddcd794eb408b727ecd2c07a5801506d533866ab636a68  guix-build-8196b0a2bc63/output/powerpc64-linux-gnu/SHA256SUMS.part
     9272441042f07f60eea66cd3329bcb4da6c22787dca480e9ccc36c21982813ca6  guix-build-8196b0a2bc63/output/powerpc64-linux-gnu/bitcoin-8196b0a2bc63-powerpc64-linux-gnu-debug.tar.gz
    10595f213ed5ca384df8a0902dcce70db7bbfdee3bb401b101ad480579b0bf8f34  guix-build-8196b0a2bc63/output/powerpc64-linux-gnu/bitcoin-8196b0a2bc63-powerpc64-linux-gnu.tar.gz
    111abeb3645c4a4b764cad0c2cf9fa5098472b16238027ee35e523ced415495503  guix-build-8196b0a2bc63/output/powerpc64le-linux-gnu/SHA256SUMS.part
    12be301d6de1a44a6db17da0219f374ef6ea92095cf643ff2d4dfd1601ba44cacf  guix-build-8196b0a2bc63/output/powerpc64le-linux-gnu/bitcoin-8196b0a2bc63-powerpc64le-linux-gnu-debug.tar.gz
    13bcbded980aad641b010f16324b5dd394119dba223ee076df7efe0896f6b8d477  guix-build-8196b0a2bc63/output/powerpc64le-linux-gnu/bitcoin-8196b0a2bc63-powerpc64le-linux-gnu.tar.gz
    1451d71b9216b857dfff81a28e8cc2fc7a40569edeec0af54c268c640a5e1f62b0  guix-build-8196b0a2bc63/output/riscv64-linux-gnu/SHA256SUMS.part
    15199b9586ab2b924a9f9519a91399a133e6d479fcba5a70a82f20355a3220314e  guix-build-8196b0a2bc63/output/riscv64-linux-gnu/bitcoin-8196b0a2bc63-riscv64-linux-gnu-debug.tar.gz
    1613f8787c17815f6d1fefccf11ea0008bfbe9c20662663ab01ac47829813c7735  guix-build-8196b0a2bc63/output/riscv64-linux-gnu/bitcoin-8196b0a2bc63-riscv64-linux-gnu.tar.gz
    171bc7434433cc7276c45b50c9b6235f15b1a174b43b164d921a91c9bfe72bdc62  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/SHA256SUMS.part
    18d06073a444a587615b6b908333ea017c354a0bad965f35c144661a1b03128613  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/bitcoin-8196b0a2bc63-osx-unsigned.dmg
    19ddcfa4de1773bf4ca48ebebb8cf0cece119f559ac6e1df52f96a27714cfc3023  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/bitcoin-8196b0a2bc63-osx-unsigned.tar.gz
    20a9c6005d7034cfd9a5db0a36a659a07a1dd41c067e9b568391aeb08c9dbeae0a  guix-build-8196b0a2bc63/output/x86_64-apple-darwin19/bitcoin-8196b0a2bc63-osx64.tar.gz
    2172394cd581cc24df7c86ecedc8d291bcc1f83f8fb65b441d086e4e4da4371cdb  guix-build-8196b0a2bc63/output/x86_64-linux-gnu/SHA256SUMS.part
    223001a2e7f3d2a6d3c9f98623647ddb98455618c7cd4e85d153b053c53c950037  guix-build-8196b0a2bc63/output/x86_64-linux-gnu/bitcoin-8196b0a2bc63-x86_64-linux-gnu-debug.tar.gz
    23156cf1e8e3e64890e9204280234b6c5f68da3e27637a67e14caf88111cd0f3fc  guix-build-8196b0a2bc63/output/x86_64-linux-gnu/bitcoin-8196b0a2bc63-x86_64-linux-gnu.tar.gz
    24faa104865f50c754c289f66ec49e47a451b643bcff581a37fafc64e91689c018  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/SHA256SUMS.part
    257973638f2730b8945d84ff2f1448f136b273cb68d04ed22e52d50900446070b5  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win-unsigned.tar.gz
    26bcc4fa825285518208758280f6479e7af67ece45c9619ce10f65aa50078c7100  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win64-debug.zip
    272e73dc1a535d6ae622f13485c1f6d596485ffdfbdeb70ce158a5824ae3b3fede  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win64-setup-unsigned.exe
    289c4ee4c09c7c3703b18edc59d9939148341ba5c80ba9b987f34fd452d3be8952  guix-build-8196b0a2bc63/output/x86_64-w64-mingw32/bitcoin-8196b0a2bc63-win64.zip
    
  17. fanquake merged this on Nov 25, 2021
  18. fanquake closed this on Nov 25, 2021

  19. fanquake referenced this in commit f05a965dcd on Nov 25, 2021
  20. fanquake commented at 7:35 am on November 25, 2021: member
    Added to #23276 for backport to 22.x.
  21. fanquake removed the label Needs backport (22.x) on Nov 25, 2021
  22. MarcoFalke removed the label DrahtBot Guix build requested on Nov 25, 2021
  23. DrahtBot commented at 2:23 pm on November 25, 2021: member

    Guix builds

    File commit 4018e23aa7e7bb57d721c7c41c55dfbb659b8c34(master) commit 7c6a679ebbcfc5d6b0161d55be08a8d03cd0fa0c(master and this pull)
    SHA256SUMS.part 4d4d7b9a72c1f5ae... 1c00c6fbaa1aa3f4...
    *-aarch64-linux-gnu-debug.tar.gz ee485ec3734ccd69... 1ef60f837ab28a1c...
    *-aarch64-linux-gnu.tar.gz 59b285026cda3a5a... 2e9978912b17471f...
    *-arm-linux-gnueabihf-debug.tar.gz 09b2254bb159f97b... f85c76cd08fc2d92...
    *-arm-linux-gnueabihf.tar.gz f211013d45cb76c1... 0cb1a4a7e273b863...
    *-osx-unsigned.dmg 9b94ecf5022ba232... f85787020c23ba39...
    *-osx-unsigned.tar.gz 2581cd72d8141ea2... 65993d43f1fd53a0...
    *-osx64.tar.gz 245e7e97641c0d30... 709eb06e0ba7977f...
    *-powerpc64-linux-gnu-debug.tar.gz 87235fcecef89215... 009e94aba2024267...
    *-powerpc64-linux-gnu.tar.gz dc288d9d7ec36b9c... 859c1acbe3476156...
    *-powerpc64le-linux-gnu-debug.tar.gz 32766b44b786acf5... 04c874a4a6e2b94b...
    *-powerpc64le-linux-gnu.tar.gz f28ae46634061af0... de2ea5df6282b5a2...
    *-riscv64-linux-gnu-debug.tar.gz e490e2948a7a8671... 6ec63c540d555a81...
    *-riscv64-linux-gnu.tar.gz 6284d570f0aaaa61... 6c238c946b30d9fa...
    *-win-unsigned.tar.gz ff386826e11b49c0... 675b6564b624f1be...
    *-win64-debug.zip 7628cfdd69cd77be... 32cfbf681d8014f4...
    *-win64-setup-unsigned.exe 6f0a98f4913482c6... d6fc44c9c8ca314f...
    *-win64.zip f71fb586c5f669ef... c9809ff037fc3e80...
    *-x86_64-linux-gnu-debug.tar.gz 7b8f2a2f4b22b729... 2a8840a620183524...
    *-x86_64-linux-gnu.tar.gz 2462e1085bed2a43... 8729c64e8e5f2e93...
    *.tar.gz b8e7549044c72d89... ce57775911f5256f...
    guix_build.log cd857d99390ebc77... 48dab0f7a584d81f...
    guix_build.log.diff 7a045cf98025b31c...
  24. kittywhiskers deleted the branch on Nov 25, 2021
  25. sidhujag referenced this in commit e7c1d3b862 on Nov 25, 2021
  26. kittywhiskers referenced this in commit 54560548da on Nov 30, 2021
  27. kittywhiskers referenced this in commit 5b5e138f61 on Nov 30, 2021
  28. kittywhiskers referenced this in commit 819efa0fdc on Nov 30, 2021
  29. kittywhiskers referenced this in commit ab845664b7 on Dec 12, 2021
  30. kittywhiskers referenced this in commit 9d8fe48cda on Jan 12, 2022
  31. kittywhiskers referenced this in commit 132ddcbe57 on Feb 7, 2022
  32. fanquake referenced this in commit 67d63042d7 on Feb 14, 2022
  33. fanquake referenced this in commit 801b0f05aa on Feb 15, 2022
  34. kittywhiskers referenced this in commit 79b82bbddd on Feb 17, 2022
  35. kittywhiskers referenced this in commit c25d9606f4 on Feb 18, 2022
  36. fanquake referenced this in commit 9b5f674abb on Mar 1, 2022
  37. kittywhiskers referenced this in commit 2f9f113d7e on Apr 25, 2022
  38. kittywhiskers referenced this in commit 426bd62e70 on Apr 25, 2022
  39. kittywhiskers referenced this in commit dfe84d6552 on Apr 26, 2022
  40. UdjinM6 referenced this in commit cb75351543 on Apr 26, 2022
  41. DrahtBot locked this on Nov 25, 2022

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: 2024-07-03 10:13 UTC

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