depends: remove FORCE_USE_SYSTEM_CLANG #30201

pull fanquake wants to merge 8 commits into bitcoin:master from fanquake:remove_force_use_system_clang changing 11 files +17 −108
  1. fanquake commented at 1:40 pm on May 30, 2024: member

    Remove FORCE_USE_SYSTEM_CLANG in favour of always using the system Clang and lld for macOS cross-compilation; rather than downloading precompiled blobs.

    For example, anyone using Ubuntu 24.04 should be able to apt install clang llvm lld .. etc, and then cross-compile for macOS using:

    0# clang --version
    1Ubuntu clang version 18.1.3 (1)
    2make -C depends HOST=arm64-apple-darwin FORCE_USE_SYSTEM_CLANG=1
    3./autogen.sh
    4CONFIG_SITE=/path/to/depends/arm64-apple-darwin/share/config.site ./configure
    5make
    6# file src/qt/bitcoin-qt
    7src/qt/bitcoin-qt: Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|WEAK_DEFINES|BINDS_TO_WEAK|PIE|HAS_TLV_DESCRIPTORS>
    

    Note that the minimum supported version of Clang we will support for macOS cross-compilation will likely be more recent than our other minimum supported version of Clang, due to compiler/linker option usage.

  2. DrahtBot commented at 1:40 pm on May 30, 2024: contributor

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

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK Sjors, theuni, TheCharlatan
    Concept ACK hebasto

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #29881 (guix: use GCC 13 to builds releases by fanquake)
    • #25391 (guix: Use LTO to build releases by fanquake)

    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.

  3. DrahtBot added the label Build system on May 30, 2024
  4. in depends/README.md:48 in e3e07ac523 outdated
    44@@ -45,7 +45,7 @@ The paths are automatically configured and no other options are needed.
    45 
    46 #### For macOS cross compilation
    47 
    48-    sudo apt-get install curl bsdmainutils cmake zip
    49+    sudo apt-get install clang cmake curl lld llvm make zip
    


    maflcko commented at 2:22 pm on May 30, 2024:
    nit: Could make sense which version is “recommended” or “tested”. I presume the version used in CI? If so, could refer to that.

    fanquake commented at 4:21 pm on May 30, 2024:
    Yea. Depending on when this lands, we could update this to recommend LLVM 18 (assuming we also switch to 18 in Guix), as that’s likely what is going to be used in the CI, if we just apt install clang on Ubuntu 24.04. At a minimum, given we use -fixup_chains, we require at least LLVM 16 or later.

    maflcko commented at 4:37 pm on May 30, 2024:
    Probably best to move everything (CI + guix) at the same time, in the same pull?

    fanquake commented at 4:38 pm on May 30, 2024:
    Yea. If/when it does change, everything will continue to change in lockstep.
  5. DrahtBot added the label CI failed on May 30, 2024
  6. theuni commented at 4:16 pm on May 30, 2024: member
    Concept ACK
  7. fanquake force-pushed on May 30, 2024
  8. DrahtBot removed the label CI failed on May 30, 2024
  9. fanquake referenced this in commit 3ac1465cd9 on May 31, 2024
  10. fanquake force-pushed on May 31, 2024
  11. hebasto commented at 3:21 pm on May 31, 2024: member
    Concept ACK.
  12. fanquake force-pushed on Jun 4, 2024
  13. fanquake referenced this in commit 4116c5f9a3 on Jun 5, 2024
  14. fanquake referenced this in commit c029775519 on Jun 5, 2024
  15. fanquake referenced this in commit 2599655c1f on Jun 5, 2024
  16. fanquake referenced this in commit ab08b28d91 on Jun 6, 2024
  17. fanquake referenced this in commit 2ad6e8efa3 on Jun 8, 2024
  18. fanquake force-pushed on Jun 8, 2024
  19. DrahtBot added the label CI failed on Jun 8, 2024
  20. fanquake force-pushed on Jun 10, 2024
  21. DrahtBot removed the label CI failed on Jun 10, 2024
  22. fanquake marked this as ready for review on Jun 10, 2024
  23. guix: use clang-toolchain-18 for macOS build
    Version is 18.1.6.
    9946618f61
  24. depends: remove FORCE_USE_SYSTEM_CLANG e9a44faf14
  25. depends: remove native LLVM package f9994b025e
  26. depends: no-longer pass -B to clang in macOS cross-compile 9043f12425
  27. depends: remove no-longer used llvm_* vars from macOS build fb74fd66cb
  28. depends: update install docs for macOS cross compilation 9ebdd5e9e0
  29. ci: update deps for macOS cross build
    We are going to use Clang 18, which isn't on Jammy, so bump to Noble.
    d851451705
  30. refactor: rename (macho) ld64 to lld
    Change some references to the macho ld64 to lld, which is now what is
    used.
    7cbfd7a7ce
  31. fanquake force-pushed on Jun 10, 2024
  32. fanquake commented at 12:23 pm on June 10, 2024: member
    Added a commit to rename some references to macho ld64 to lld.
  33. Sjors commented at 11:23 am on June 11, 2024: member

    tACK 7cbfd7a7ce45ac68d6041f42f468862f5c193d8c

    I made a Guix build, as well as a regular cross-compile on Ubuntu 24.04 for Intel macOS, and lightly tested them.

    Guix hashes for darwin:

    0048fa3f381098477b8bea25701547f37a6680b33afb9c61ba88cb4a895aae81d  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/SHA256SUMS.part
    1d540c4c73b98bef810c85b0b10a6e1a004655fb0c8a4709b8f655c6924afef8b  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin-unsigned.tar.gz
    24a0bca38e194b731a105ab791d8dfa6adc314fb0a5a963d49136d5546794919b  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin-unsigned.zip
    3993c355cdef9a246c9929dc5b9a734ae4781f6353a8c953465c81ae2739809cd  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin.tar.gz
    42e58229e7f9f22448fda71b0eda9fb4f084edb1a44093e0dadf9a2ab0ab37026  guix-build-7cbfd7a7ce45/output/dist-archive/bitcoin-7cbfd7a7ce45.tar.gz
    51140b74f33745cdd0e703c7740b3adf79b233be9becca3d464b41fc508ebc3f0  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/SHA256SUMS.part
    6ae7b6911d7c184e9643f8a611db02c5c5028d116937b42935052dea04cc834cf  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin-unsigned.tar.gz
    7eea2db60805e1a97ffb9cf412380e5df178dd2f7f5e42e1a06feae3185f87a79  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin-unsigned.zip
    890bc2c35c76cce5620fcfeb57f108e02f6be6d7d3ac36c88d9a8f991b9637b7b  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin.tar.gz
    
  34. DrahtBot requested review from theuni on Jun 11, 2024
  35. DrahtBot requested review from hebasto on Jun 11, 2024
  36. fanquake commented at 12:59 pm on June 11, 2024: member

    Guix Build (aarch64):

     0f8487a885a04a4b3c273b2d1ba3ef5e100026f16b03c08e866dbf4cd468d0802  guix-build-7cbfd7a7ce45/output/aarch64-linux-gnu/SHA256SUMS.part
     1b3da7604bc7302213d2864bddbccc54ede6374711377b89b2d17a989d2e9e64d  guix-build-7cbfd7a7ce45/output/aarch64-linux-gnu/bitcoin-7cbfd7a7ce45-aarch64-linux-gnu-debug.tar.gz
     2d2340b2c084faf01a0db8ea0c077ba9f8c51ef23b680396d88001b33d126788b  guix-build-7cbfd7a7ce45/output/aarch64-linux-gnu/bitcoin-7cbfd7a7ce45-aarch64-linux-gnu.tar.gz
     3a79f460ac8b4c893ad1cf4aba17489b0dc7834377166d4e9bc4da78bcd84a430  guix-build-7cbfd7a7ce45/output/arm-linux-gnueabihf/SHA256SUMS.part
     46d94b11fca39489230f00125d156c1ad36a8b8ff9c5fdd6a7d47e31c3c527230  guix-build-7cbfd7a7ce45/output/arm-linux-gnueabihf/bitcoin-7cbfd7a7ce45-arm-linux-gnueabihf-debug.tar.gz
     5e5cf9b6bd1a8ad95a49ad523681091ad9938c02f7f995934c413bd8b8c651199  guix-build-7cbfd7a7ce45/output/arm-linux-gnueabihf/bitcoin-7cbfd7a7ce45-arm-linux-gnueabihf.tar.gz
     6048fa3f381098477b8bea25701547f37a6680b33afb9c61ba88cb4a895aae81d  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/SHA256SUMS.part
     7d540c4c73b98bef810c85b0b10a6e1a004655fb0c8a4709b8f655c6924afef8b  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin-unsigned.tar.gz
     84a0bca38e194b731a105ab791d8dfa6adc314fb0a5a963d49136d5546794919b  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin-unsigned.zip
     9993c355cdef9a246c9929dc5b9a734ae4781f6353a8c953465c81ae2739809cd  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin.tar.gz
    102e58229e7f9f22448fda71b0eda9fb4f084edb1a44093e0dadf9a2ab0ab37026  guix-build-7cbfd7a7ce45/output/dist-archive/bitcoin-7cbfd7a7ce45.tar.gz
    1118116e5c3df56d933ce453dd9b475317fe3a9e4452fa420e57cfeb15f6dd0580  guix-build-7cbfd7a7ce45/output/powerpc64-linux-gnu/SHA256SUMS.part
    12d23d0c154fa27210e0be3992bd34882db469dde51070b975cb5ee6b365bfc10b  guix-build-7cbfd7a7ce45/output/powerpc64-linux-gnu/bitcoin-7cbfd7a7ce45-powerpc64-linux-gnu-debug.tar.gz
    1392d17f3834ee8f8f14cea0ff7e183c8efb1a17355d4fd654ac0a96e01c880aa3  guix-build-7cbfd7a7ce45/output/powerpc64-linux-gnu/bitcoin-7cbfd7a7ce45-powerpc64-linux-gnu.tar.gz
    143bd64df4a6e6fd27ac72c48691e41a5b528446a4052c42caaf6e91f32419d327  guix-build-7cbfd7a7ce45/output/riscv64-linux-gnu/SHA256SUMS.part
    15dd23855a2f58b3334b274630b7c97be99335ff9908e8a6b0c1300a141b92f5a0  guix-build-7cbfd7a7ce45/output/riscv64-linux-gnu/bitcoin-7cbfd7a7ce45-riscv64-linux-gnu-debug.tar.gz
    16a40be60dd17b32b6c8c8560e579bfb02c08e2e8f082a2247b66f957b2780fee9  guix-build-7cbfd7a7ce45/output/riscv64-linux-gnu/bitcoin-7cbfd7a7ce45-riscv64-linux-gnu.tar.gz
    171140b74f33745cdd0e703c7740b3adf79b233be9becca3d464b41fc508ebc3f0  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/SHA256SUMS.part
    18ae7b6911d7c184e9643f8a611db02c5c5028d116937b42935052dea04cc834cf  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin-unsigned.tar.gz
    19eea2db60805e1a97ffb9cf412380e5df178dd2f7f5e42e1a06feae3185f87a79  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin-unsigned.zip
    2090bc2c35c76cce5620fcfeb57f108e02f6be6d7d3ac36c88d9a8f991b9637b7b  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin.tar.gz
    218b758e8b739b80123a132ceba172ba9fd70a476941a1b515629737b9f6020ab9  guix-build-7cbfd7a7ce45/output/x86_64-linux-gnu/SHA256SUMS.part
    22cd50dfb8d19c5ea62b1069655c5154965703fccfa31bad9c7169b2842a5c5048  guix-build-7cbfd7a7ce45/output/x86_64-linux-gnu/bitcoin-7cbfd7a7ce45-x86_64-linux-gnu-debug.tar.gz
    231496518bd7efe42df95318666a14c97ae019a6d66c526906c61d22dd8769769d  guix-build-7cbfd7a7ce45/output/x86_64-linux-gnu/bitcoin-7cbfd7a7ce45-x86_64-linux-gnu.tar.gz
    2456d85879d391893a174dce042ed7a4d54c4e57645629660952411052e35d793c  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/SHA256SUMS.part
    25633ae51f73e818edcfd7e6a03d6368abe58540a485908aa17dbd812cc790d55f  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64-debug.zip
    26480576fb02cc43bcaea583b4975e7609c093c53a16c891e1ab1c75801cd9da18  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64-setup-unsigned.exe
    27ff2e48fb53aca49d3d0fcda480e64cf36f4b8250357c1adeec0abba6b66bb524  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64-unsigned.tar.gz
    2842ca2d89cb6703094ea22bd9a869d833f36f42cbef39ca5c3c7b8503bbe15587  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64.zip
    
  37. theuni approved
  38. theuni commented at 1:30 pm on June 11, 2024: member

    Tested on Ubuntu 22.04 with downloaded llvm 18 binaries in PATH.

    ACK 7cbfd7a7ce45ac68d6041f42f468862f5c193d8c

  39. TheCharlatan approved
  40. TheCharlatan commented at 3:32 pm on June 11, 2024: contributor

    Nice, ACK 7cbfd7a7ce45ac68d6041f42f468862f5c193d8c

    Guix builds (aarch64):

     0f8487a885a04a4b3c273b2d1ba3ef5e100026f16b03c08e866dbf4cd468d0802  guix-build-7cbfd7a7ce45/output/aarch64-linux-gnu/SHA256SUMS.part
     1b3da7604bc7302213d2864bddbccc54ede6374711377b89b2d17a989d2e9e64d  guix-build-7cbfd7a7ce45/output/aarch64-linux-gnu/bitcoin-7cbfd7a7ce45-aarch64-linux-gnu-debug.tar.gz
     2d2340b2c084faf01a0db8ea0c077ba9f8c51ef23b680396d88001b33d126788b  guix-build-7cbfd7a7ce45/output/aarch64-linux-gnu/bitcoin-7cbfd7a7ce45-aarch64-linux-gnu.tar.gz
     3a79f460ac8b4c893ad1cf4aba17489b0dc7834377166d4e9bc4da78bcd84a430  guix-build-7cbfd7a7ce45/output/arm-linux-gnueabihf/SHA256SUMS.part
     46d94b11fca39489230f00125d156c1ad36a8b8ff9c5fdd6a7d47e31c3c527230  guix-build-7cbfd7a7ce45/output/arm-linux-gnueabihf/bitcoin-7cbfd7a7ce45-arm-linux-gnueabihf-debug.tar.gz
     5e5cf9b6bd1a8ad95a49ad523681091ad9938c02f7f995934c413bd8b8c651199  guix-build-7cbfd7a7ce45/output/arm-linux-gnueabihf/bitcoin-7cbfd7a7ce45-arm-linux-gnueabihf.tar.gz
     6048fa3f381098477b8bea25701547f37a6680b33afb9c61ba88cb4a895aae81d  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/SHA256SUMS.part
     7d540c4c73b98bef810c85b0b10a6e1a004655fb0c8a4709b8f655c6924afef8b  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin-unsigned.tar.gz
     84a0bca38e194b731a105ab791d8dfa6adc314fb0a5a963d49136d5546794919b  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin-unsigned.zip
     9993c355cdef9a246c9929dc5b9a734ae4781f6353a8c953465c81ae2739809cd  guix-build-7cbfd7a7ce45/output/arm64-apple-darwin/bitcoin-7cbfd7a7ce45-arm64-apple-darwin.tar.gz
    102e58229e7f9f22448fda71b0eda9fb4f084edb1a44093e0dadf9a2ab0ab37026  guix-build-7cbfd7a7ce45/output/dist-archive/bitcoin-7cbfd7a7ce45.tar.gz
    1118116e5c3df56d933ce453dd9b475317fe3a9e4452fa420e57cfeb15f6dd0580  guix-build-7cbfd7a7ce45/output/powerpc64-linux-gnu/SHA256SUMS.part
    12d23d0c154fa27210e0be3992bd34882db469dde51070b975cb5ee6b365bfc10b  guix-build-7cbfd7a7ce45/output/powerpc64-linux-gnu/bitcoin-7cbfd7a7ce45-powerpc64-linux-gnu-debug.tar.gz
    1392d17f3834ee8f8f14cea0ff7e183c8efb1a17355d4fd654ac0a96e01c880aa3  guix-build-7cbfd7a7ce45/output/powerpc64-linux-gnu/bitcoin-7cbfd7a7ce45-powerpc64-linux-gnu.tar.gz
    143bd64df4a6e6fd27ac72c48691e41a5b528446a4052c42caaf6e91f32419d327  guix-build-7cbfd7a7ce45/output/riscv64-linux-gnu/SHA256SUMS.part
    15dd23855a2f58b3334b274630b7c97be99335ff9908e8a6b0c1300a141b92f5a0  guix-build-7cbfd7a7ce45/output/riscv64-linux-gnu/bitcoin-7cbfd7a7ce45-riscv64-linux-gnu-debug.tar.gz
    16a40be60dd17b32b6c8c8560e579bfb02c08e2e8f082a2247b66f957b2780fee9  guix-build-7cbfd7a7ce45/output/riscv64-linux-gnu/bitcoin-7cbfd7a7ce45-riscv64-linux-gnu.tar.gz
    171140b74f33745cdd0e703c7740b3adf79b233be9becca3d464b41fc508ebc3f0  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/SHA256SUMS.part
    18ae7b6911d7c184e9643f8a611db02c5c5028d116937b42935052dea04cc834cf  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin-unsigned.tar.gz
    19eea2db60805e1a97ffb9cf412380e5df178dd2f7f5e42e1a06feae3185f87a79  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin-unsigned.zip
    2090bc2c35c76cce5620fcfeb57f108e02f6be6d7d3ac36c88d9a8f991b9637b7b  guix-build-7cbfd7a7ce45/output/x86_64-apple-darwin/bitcoin-7cbfd7a7ce45-x86_64-apple-darwin.tar.gz
    218b758e8b739b80123a132ceba172ba9fd70a476941a1b515629737b9f6020ab9  guix-build-7cbfd7a7ce45/output/x86_64-linux-gnu/SHA256SUMS.part
    22cd50dfb8d19c5ea62b1069655c5154965703fccfa31bad9c7169b2842a5c5048  guix-build-7cbfd7a7ce45/output/x86_64-linux-gnu/bitcoin-7cbfd7a7ce45-x86_64-linux-gnu-debug.tar.gz
    231496518bd7efe42df95318666a14c97ae019a6d66c526906c61d22dd8769769d  guix-build-7cbfd7a7ce45/output/x86_64-linux-gnu/bitcoin-7cbfd7a7ce45-x86_64-linux-gnu.tar.gz
    2456d85879d391893a174dce042ed7a4d54c4e57645629660952411052e35d793c  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/SHA256SUMS.part
    25633ae51f73e818edcfd7e6a03d6368abe58540a485908aa17dbd812cc790d55f  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64-debug.zip
    26480576fb02cc43bcaea583b4975e7609c093c53a16c891e1ab1c75801cd9da18  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64-setup-unsigned.exe
    27ff2e48fb53aca49d3d0fcda480e64cf36f4b8250357c1adeec0abba6b66bb524  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64-unsigned.tar.gz
    2842ca2d89cb6703094ea22bd9a869d833f36f42cbef39ca5c3c7b8503bbe15587  guix-build-7cbfd7a7ce45/output/x86_64-w64-mingw32/bitcoin-7cbfd7a7ce45-win64.zip
    
  41. fanquake merged this on Jun 11, 2024
  42. fanquake closed this on Jun 11, 2024

  43. fanquake deleted the branch on Jun 11, 2024
  44. hebasto added the label Needs CMake port on Jun 30, 2024
  45. hebasto commented at 5:39 pm on June 30, 2024: member
    CI related stuff has to be ported to the CMake staging branch.
  46. hebasto commented at 6:56 am on July 14, 2024: member
    Ported to the CMake-based build system in https://github.com/hebasto/bitcoin/pull/264.
  47. hebasto removed the label Needs CMake port on Jul 14, 2024

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-09-28 22:12 UTC

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