build: macOS toolchain bump #19817

pull fanquake wants to merge 7 commits into bitcoin:master from fanquake:libtapi_1100011 changing 13 files +32 −132
  1. fanquake commented at 8:11 am on August 27, 2020: member

    Bumps our macOS toolchain to be using the following:

    • Clang 10.0.1 (gitian) & Clang 10.0.0 (Guix)
    • ld64 609
    • libtapi 1100.0.11
    • cctools 973.0.1
    • Xcode 12.1
    • macOS SDK 10.15.6

    which are currently the most recent releases available as open source. See upstream cctools and libtapi.

    This should improve the possibility of Apple ARM cross-compilation in depends.

    This also removes our patching out of pthreads usage in ld64. There have been multiple changes since ld64 450.3, which have likely fixed the non-determinism we were working around. i.e from InputFiles.cpp:

    0// <rdar://problem/15002251> make implicit dylib order be deterministic by sorting by install_name
    1		std::sort(implicitDylibs.begin(), implicitDylibs.end(), DylibByInstallNameSorter());
    
    0// <rdar://problem/42675402> ld64 output is not deterministic due to dylib processing order
    1		std::sort(unprocessedDylibs.begin(), unprocessedDylibs.end(), [](const ld::dylib::File* lhs, const ld::dylib::File* rhs) {
    2			return strcmp(lhs->path(), rhs->path()) < 0;
    3		});
    

    Guix Build:

    0find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    1f6c3817b8fe5f7370299d1ae2533e4a3acd313ba9f9aa8d423a8956117e52dd5  guix-build-a5550f877a2c/output/dist-archive/bitcoin-a5550f877a2c.tar.gz
    24954dcf563c2d496b8d9fecd48f8e3f7fba2f319ffa254a5bc8ee12cfee6acf0  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx-unsigned.dmg
    38f6095b445c7f1a8e6accd86bb7f0696d5849402084927d2b726b7d557831c3a  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx-unsigned.tar.gz
    4cc40f25477b4defc1617ae694313d80f307ddf6742fe6cc85c6bc0e215ef8be0  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx64.tar.gz
    

    Gitian Build:

    0Generating report
    1506a8abdefe559999b43dd9f14905b9b2b5a3363b1cd013d45ae47acc1f7ef6c  bitcoin-a5550f877a2c-osx-unsigned.dmg
    2f606997f74026dd12d110d683c6f116b40df324836904ef507dd7ac787e6ebe2  bitcoin-a5550f877a2c-osx-unsigned.tar.gz
    35b495ef15f2c3260c2950921b61326912a9bf533cccd51e13818809fd225489e  bitcoin-a5550f877a2c-osx64.tar.gz
    4f6c3817b8fe5f7370299d1ae2533e4a3acd313ba9f9aa8d423a8956117e52dd5  src/bitcoin-a5550f877a2c.tar.gz
    59eb0221e962d2839770963bd03c6c9e98e8bf3078566bee2ae42f06233a710fa  bitcoin-core-osx-22-res.yml
    6Done.
    
  2. fanquake added the label Build system on Aug 27, 2020
  3. MarcoFalke added the label Needs gitian build on Aug 27, 2020
  4. MarcoFalke added the label Needs Guix build on Aug 27, 2020
  5. laanwj added the label macOS on Aug 27, 2020
  6. jonasschnelli commented at 9:45 am on August 27, 2020: contributor

    should someone verify if the right sources have been taken from upstream (unchanged)? https://github.com/tpoechtrager/apple-libtapi https://github.com/apple/llvm-project/commits/apple/stable/20190104

    Why is the snv suffix in the library name required?

  7. fanquake commented at 2:24 pm on August 27, 2020: member

    Why is the snv suffix in the library name required?

    The .8svn suffix comes from LLVMs dylib naming, which is the LLVM major version number + the LLVM version suffix (svn). After building you can grep and find:

    0build/tools/llvm-config/BuildVariables.inc
    135:#define LLVM_DYLIB_VERSION "8svn"
    2
    3build/include/llvm/Config/config.h
    4330:#define PACKAGE_STRING "LLVM 8.0.0svn"
    5333:#define PACKAGE_VERSION "8.0.0svn"
    6
    7build/include/llvm/Config/llvm-config.h
    878:#define LLVM_VERSION_STRING "8.0.0svn"
    

    etc.

    should someone verify if the right sources have been taken from upstream (unchanged)?

    I have done some diffs and can post them shortly.

  8. fanquake commented at 2:27 pm on August 28, 2020: member

    should someone verify if the right sources have been taken from upstream (unchanged)?

    I’ve posted a diff of the Clang and libtapi sources here: https://gist.github.com/fanquake/1512109cc69d0a61f352e326f34bb90a.

    You can recreate the using the following steps: Clang:

     0git clone https://github.com/apple/llvm-project
     1git clone https://github.com/tpoechtrager/apple-libtapi
     2
     3cd llvm-project
     4git checkout 729748d085a90bd2a4af36efbfb2dc33b4704de3
     5
     6rm -rf clang/test
     7rm -rf clang/unittests/
     8rm -rf clang/www
     9cd ..
    10
    11# compare clang
    12diffoscope --exclude-directory-metadata=yes llvm-project/clang apple-libtapi/src/llvm/projects/clang/
    

    libtapi:

    0wget https://opensource.apple.com/tarballs/tapi/tapi-1100.0.11.tar.gz
    1tar xf tapi-1100.0.11.tar.gz
    2cd tapi-1100.0.11.tar.gz
    3rm -rf test/
    4rm -rf unittests/
    5cd ..
    6
    7# compare libtapi
    8diffoscope --exclude-directory-metadata=yes tapi-1100.0.11 apple-libtapi/src/libtapi
    

    If anyone wants an intro to .tbd stubs, I wrote something here using libconsensus: https://github.com/fanquake/core-review/blob/master/tbd-stubs.md.

  9. promag commented at 2:37 pm on August 28, 2020: member

    If anyone wants an intro to .tbd stubs, I wrote something here using libconsensus: https://github.com/fanquake/core-review/blob/master/tbd-stubs.md.

    TIL, very nice! 👏

  10. DrahtBot removed the label Needs Guix build on Aug 29, 2020
  11. DrahtBot removed the label Needs gitian build on Aug 29, 2020
  12. MarcoFalke commented at 5:46 pm on August 29, 2020: member
    0make: Entering directory '/home/ubuntu/build/bitcoin/depends'
    1Extracting native_cctools...
    2/home/ubuntu/cache/common/55562e4073dea0fbfd0b20e0bf69ffe6390c7f97.tar.gz: OK
    3/home/ubuntu/cache/common/clang-llvm-8.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz: OK
    4sha256sum: /home/ubuntu/cache/common/86f43cdb62a3ceb39f3ee6e4568eded67a4912e8.tar.gz: No such file or directory
    5/home/ubuntu/cache/common/86f43cdb62a3ceb39f3ee6e4568eded67a4912e8.tar.gz: FAILED open or read
    6sha256sum: WARNING: 1 listed file could not be read
    7funcs.mk:260: recipe for target '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-apple-darwin16/native_cctools/55562e4073dea0fbfd0b20e0bf69ffe6390c7f97-cd4b9b6d54b/.stamp_extracted' failed
    8make: *** [/home/ubuntu/build/bitcoin/depends/work/build/x86_64-apple-darwin16/native_cctools/55562e4073dea0fbfd0b20e0bf69ffe6390c7f97-cd4b9b6d54b/.stamp_extracted] Error 1
    9make: Leaving directory '/home/ubuntu/build/bitcoin/depends'
    
  13. MarcoFalke commented at 7:03 pm on August 29, 2020: member

    Steps to reproduce:

    0   git checkout bitcoin-core/master 
    1   cd depends/
    2   make download HOST=x86_64-apple-darwin16 
    3   git cherry-pick 826d42903da5a927f296be1fa86096bce53d5f1b
    4   make HOST=x86_64-apple-darwin16 
    
  14. laanwj commented at 10:22 am on September 3, 2020: member

    If anyone wants an intro to .tbd stubs, I wrote something here using libconsensus: https://github.com/fanquake/core-review/blob/master/tbd-stubs.md.

    I’ve wanted this kind of thing forever. I wish this was cross-platform.

  15. fanquake marked this as a draft on Sep 15, 2020
  16. fanquake commented at 8:44 am on September 15, 2020: member
    This needs updating for a newer libtapi update, and one of either @dongcarl’s or @hebasto’s “fix building dependant libs” commits pulled in to fix the rebuilding.
  17. fanquake force-pushed on Sep 19, 2020
  18. jonasschnelli commented at 10:01 am on December 4, 2020: contributor

    @MarcoFalke: you need to clear the depends/sources/ dir (a make clean) is not sufficient.

    Tested ACK 1a1fc87169bc18db6a9897595401cf81c9b7427a - tested with Xcode-12.2-12B45b

  19. MarcoFalke commented at 10:09 am on December 4, 2020: member
    depends should ideally detect missing or outdated sources automatically and download them. This is how it used to work, am I wrong?
  20. fanquake commented at 1:15 pm on December 9, 2020: member

    Seeing as this is now useful for a reason other than mentioned in the OP, I’ll address outstanding issues and take this out of draft.

    depends should ideally detect missing or outdated sources automatically and download them. This is how it used to work, am I wrong?

    IIRC this has never been the case for the native_cctools package. However it’s always been masked by the fact that we’d always be bumping Clang when changing libtapi, so you’d always be rebuilding anyways.

  21. fanquake force-pushed on Jan 29, 2021
  22. DrahtBot commented at 4:07 pm on March 17, 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:

    • #21420 (build, qt: No longer need to patch translation.pro 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.

  23. fanquake renamed this:
    build: libtapi 1100.0.11
    build: macOS toolchain bump
    on Mar 18, 2021
  24. fanquake force-pushed on Mar 18, 2021
  25. fanquake commented at 2:47 am on March 18, 2021: member
    I’ve modified this to be a macOS toolchain bump, based on #21457, rather than updating libtapi individually.
  26. fanquake added this to the milestone 22.0 on Mar 18, 2021
  27. MarcoFalke deleted a comment on Mar 18, 2021
  28. MarcoFalke deleted a comment on Mar 18, 2021
  29. fanquake referenced this in commit 1a0d1452a0 on Mar 31, 2021
  30. hebasto commented at 0:30 am on March 31, 2021: member
    un-draft? :)
  31. fanquake force-pushed on Mar 31, 2021
  32. fanquake marked this as ready for review on Mar 31, 2021
  33. sidhujag referenced this in commit 621eab9ff7 on Mar 31, 2021
  34. hebasto commented at 4:10 am on March 31, 2021: member

    Guix build:

    0$ find output -type f -name *$(git rev-parse --short HEAD)*.* -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    12862d0d9c21e5508b29932a6bf72a7b3e042e8283f6152ac421631ffa135f962  output/bitcoin-d9172f83e0bc-osx-unsigned.dmg
    2d8e664c29b2998a6eb66ccf10afa07aa77ca9b11bbcba29c4f7fc2f4e5735810  output/bitcoin-d9172f83e0bc-osx-unsigned.tar.gz
    36ddd8eabe273518fdaa7aa0a848d832015d4463ed20d9a6ca8d2a9d411f2554c  output/bitcoin-d9172f83e0bc-osx64.tar.gz
    4485c65bfd306803363b23a1bc0039f9c060513a1cc8540d113dc06ea71f59209  output/src/bitcoin-d9172f83e0bc.tar.gz
    

    UPDATE: the same result with MAX_JOBS=1

  35. fanquake force-pushed on Mar 31, 2021
  36. fanquake commented at 5:01 am on March 31, 2021: member

    Update (everywhere)

    Updated the missed replacement in the gitian descriptor, and version numbers in the CI. Was there something else missing?

    I’ve run Guix builds @ d9172f83e0bcdf877c25e044a13690bca99bac5a with various MAX_JOBS, (1,3,7,8), and have so far seen deterministic results:

    0bash-5.1# find output -type f -name *$(git rev-parse --short HEAD)*.* -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    12862d0d9c21e5508b29932a6bf72a7b3e042e8283f6152ac421631ffa135f962  output/bitcoin-d9172f83e0bc-osx-unsigned.dmg
    2d8e664c29b2998a6eb66ccf10afa07aa77ca9b11bbcba29c4f7fc2f4e5735810  output/bitcoin-d9172f83e0bc-osx-unsigned.tar.gz
    36ddd8eabe273518fdaa7aa0a848d832015d4463ed20d9a6ca8d2a9d411f2554c  output/bitcoin-d9172f83e0bc-osx64.tar.gz
    4485c65bfd306803363b23a1bc0039f9c060513a1cc8540d113dc06ea71f59209  output/src/bitcoin-d9172f83e0bc.tar.gz
    
  37. fanquake force-pushed on Mar 31, 2021
  38. fanquake force-pushed on Mar 31, 2021
  39. hebasto commented at 5:41 am on March 31, 2021: member

    Gitian builds:

    • --jobs 8
    0Generating report
    152301a10a1e988dffa2ac71ece046c5c9de52578ef5f8ff06aa5fc7645a8e694  bitcoin-1e18d58d10d6-osx-unsigned.dmg
    24e0174e212ea233552d97299f304f08776263d45a0b1fccabdda60249083d30e  bitcoin-1e18d58d10d6-osx-unsigned.tar.gz
    382c36661f208f8501b6310d77b9b30d3b067d05614eb1fb9e575a08bb0a05580  bitcoin-1e18d58d10d6-osx64.tar.gz
    497326c1f6df4e48283b33c2fe10be60ba91bd4c5612f9dd97d9a33f2342423f4  src/bitcoin-1e18d58d10d6.tar.gz
    503b03010b67b0590d0588b971a86ad5a0e414adfa5435e6a2ba5db9432eba53e  bitcoin-core-osx-22-res.yml
    6Done.
    

    UPDATE:

    • --jobs 1
    0Generating report
    152301a10a1e988dffa2ac71ece046c5c9de52578ef5f8ff06aa5fc7645a8e694  bitcoin-1e18d58d10d6-osx-unsigned.dmg
    24e0174e212ea233552d97299f304f08776263d45a0b1fccabdda60249083d30e  bitcoin-1e18d58d10d6-osx-unsigned.tar.gz
    382c36661f208f8501b6310d77b9b30d3b067d05614eb1fb9e575a08bb0a05580  bitcoin-1e18d58d10d6-osx64.tar.gz
    497326c1f6df4e48283b33c2fe10be60ba91bd4c5612f9dd97d9a33f2342423f4  src/bitcoin-1e18d58d10d6.tar.gz
    5f32456c93a8491edcd727d81fc84b5d26671647f5863bbcad4e6047a1f33b96c  bitcoin-core-osx-22-res.yml
    6Done.
    
  40. hebasto commented at 5:59 am on March 31, 2021: member

    Guix build:

    • MAX_JOBS=8
    0$ find output -type f -name *$(git rev-parse --short HEAD)*.* -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    1d965da3230f73a78c91473bf393b8cab6081a539fe335eca573f6bc4e3a4bb9a  output/bitcoin-1e18d58d10d6-osx-unsigned.dmg
    203c8b3575a0c6cb402dd8b7f9e1097a3f7303d1c90a562f8e54e863be9b7d9a0  output/bitcoin-1e18d58d10d6-osx-unsigned.tar.gz
    3e2603c3a55d2b948e46bcc3e481222f081c535806e0311ea9074227bfa755c3d  output/bitcoin-1e18d58d10d6-osx64.tar.gz
    497326c1f6df4e48283b33c2fe10be60ba91bd4c5612f9dd97d9a33f2342423f4  output/src/bitcoin-1e18d58d10d6.tar.gz
    

    UPDATE: the same result with MAX_JOBS=1

  41. hebasto commented at 6:33 am on March 31, 2021: member
    Looks like a new sdk archive should be uploaded to https://bitcoincore.org/depends-sources/sdks.
  42. hebasto commented at 6:45 am on March 31, 2021: member
    Approach ACK 1e18d58d10d6021fc1833ea530963e42d2e4c5e6, going to look into the code closer.
  43. fanquake added the label Needs gitian build on Mar 31, 2021
  44. fanquake added the label Needs Guix build on Mar 31, 2021
  45. fanquake commented at 8:04 am on March 31, 2021: member

    Guix: Ran builds with varying MAX_JOBS=. i.e:

    0time BASE_CACHE="/guix/base_cache" SOURCES_PATH="/guix/sources" SDK_PATH="/guix/SDKs" HOSTS="x86_64-apple-darwin18" MAX_JOBS="1" ./contrib/guix/guix-build.sh
    

    all produced the same result.

    0bash-5.1# find output -type f -name *$(git rev-parse --short HEAD)*.* -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    1d965da3230f73a78c91473bf393b8cab6081a539fe335eca573f6bc4e3a4bb9a  output/bitcoin-1e18d58d10d6-osx-unsigned.dmg
    203c8b3575a0c6cb402dd8b7f9e1097a3f7303d1c90a562f8e54e863be9b7d9a0  output/bitcoin-1e18d58d10d6-osx-unsigned.tar.gz
    3e2603c3a55d2b948e46bcc3e481222f081c535806e0311ea9074227bfa755c3d  output/bitcoin-1e18d58d10d6-osx64.tar.gz
    497326c1f6df4e48283b33c2fe10be60ba91bd4c5612f9dd97d9a33f2342423f4  output/src/bitcoin-1e18d58d10d6.tar.gz
    

    Gitian:

    052301a10a1e988dffa2ac71ece046c5c9de52578ef5f8ff06aa5fc7645a8e694  bitcoin-1e18d58d10d6-osx-unsigned.dmg
    14e0174e212ea233552d97299f304f08776263d45a0b1fccabdda60249083d30e  bitcoin-1e18d58d10d6-osx-unsigned.tar.gz
    282c36661f208f8501b6310d77b9b30d3b067d05614eb1fb9e575a08bb0a05580  bitcoin-1e18d58d10d6-osx64.tar.gz
    397326c1f6df4e48283b33c2fe10be60ba91bd4c5612f9dd97d9a33f2342423f4  src/bitcoin-1e18d58d10d6.tar.gz
    4ce3741edbdf340164474a136309ba4ad49ce24bf93e206350429134975b56d41  bitcoin-core-osx-22-res.yml
    
  46. hebasto commented at 10:13 am on March 31, 2021: member
    Tested 1e18d58d10d6021fc1833ea530963e42d2e4c5e6 On macOS Big Sur 11.2.3 (20D91) the dark mode (https://github.com/bitcoin-core/gui/pull/154) does not work.
  47. goums commented at 3:33 pm on March 31, 2021: contributor

    ACK 1e18d58d10d6021fc1833ea530963e42d2e4c5e6 Tested on macOS Big Sur 11.2.3.

    Tested 1e18d58 On macOS Big Sur 11.2.3 (20D91) the dark mode (bitcoin-core/gui#154) does not work.

    Dark mode is ok on my side after a clean rebuild and make deploy: image Note that I’ve re ran all build steps from the build-osx readme to avoid any version conflicts.

  48. hebasto commented at 4:47 pm on March 31, 2021: member

    ACK 1e18d58 Tested on macOS Big Sur 11.2.3.

    Tested 1e18d58 On macOS Big Sur 11.2.3 (20D91) the dark mode (bitcoin-core/gui#154) does not work.

    Dark mode is ok on my side after a clean rebuild and make deploy:

    Actually, I tested bitcoin-1e18d58d10d6-osx-unsigned.dmg gitian build. And broken dark mode support looks weird.

  49. hebasto commented at 4:59 pm on March 31, 2021: member

    Tested 1e18d58 On macOS Big Sur 11.2.3 (20D91) the dark mode (bitcoin-core/gui#154) does not work. @fanquake Could bumping Xcode/SDK be premature?

    Qt docs mention only Xcode 10 (10.14 SDK) for Qt 5.12 :man_shrugging:

    Maybe postpone it until bumping Qt version to 5.15?

  50. fanquake commented at 0:14 am on April 1, 2021: member

    Could bumping Xcode/SDK be premature? Qt docs mention only Xcode 10 (10.14 SDK) for Qt 5.12 🤷‍♂️

    Just because Xcode 10 is listed on that page, doesn’t mean it’s the only version that will work (I assume 10 was just the latest Xcode release at the time). We are already building with Xcode 11 (the Xcode version is also basically irrelevant, and Xcode itself is not even present when cross-compiling), and the 10.15 SDK, and anyone building depends on a macOS machine is already building using Xcode 12+ and an 11.x version of the SDK, and that all currently works fine.

  51. hebasto commented at 1:04 am on April 1, 2021: member

    FWIW, gitian build with dropped “build: Xcode 12.1, macOS SDK 10.15.6” commit also has a dark mode regression.

    Assuming that the root of problem lies elsewhere…

  52. hebasto commented at 3:26 am on April 1, 2021: member

    Here are results of my tests:

    1. dark mode works if commit “build: Clang 10.0.1” is dropped
    2. tested clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz – fails
    3. tested clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz – fails
  53. sipa commented at 7:22 pm on April 1, 2021: member

    Guix build:

    0find output -type f -name *$(git rev-parse --short HEAD)*.* -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    1d965da3230f73a78c91473bf393b8cab6081a539fe335eca573f6bc4e3a4bb9a  output/bitcoin-1e18d58d10d6-osx-unsigned.dmg
    203c8b3575a0c6cb402dd8b7f9e1097a3f7303d1c90a562f8e54e863be9b7d9a0  output/bitcoin-1e18d58d10d6-osx-unsigned.tar.gz
    3e2603c3a55d2b948e46bcc3e481222f081c535806e0311ea9074227bfa755c3d  output/bitcoin-1e18d58d10d6-osx64.tar.gz
    497326c1f6df4e48283b33c2fe10be60ba91bd4c5612f9dd97d9a33f2342423f4  output/src/bitcoin-1e18d58d10d6.tar.gz
    
  54. DrahtBot removed the label Needs gitian build on Apr 5, 2021
  55. DrahtBot commented at 5:16 am on April 5, 2021: member
    Pls, where to download xcode?
  56. DrahtBot added the label Needs gitian build on Apr 5, 2021
  57. DrahtBot added the label Needs rebase on Apr 5, 2021
  58. fanquake force-pushed on Apr 6, 2021
  59. fanquake removed the label Needs rebase on Apr 6, 2021
  60. MarcoFalke deleted a comment on Apr 6, 2021
  61. MarcoFalke deleted a comment on Apr 6, 2021
  62. DrahtBot removed the label Needs gitian build on Apr 7, 2021
  63. jarolrod commented at 0:59 am on April 16, 2021: member

    https://github.com/bitcoin/bitcoin/blob/c6b30ccb2eee5f80f844f79766591f0a1326ce43/contrib/guix/README.md#L170

    Should this PR also handle updating this part of the GUIX readme?

    GUIX hashes for 9fe45585d6bed47688bc6f670b72f55372082a30

    0find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    1
    2e0ff68338ea8a63d33b2f6a711a2cd5da345c1af144b63784907ee0944a72a01  guix-build-9fe45585d6be/output/dist-archive/bitcoin-9fe45585d6be.tar.gz
    3980f4a77f1d03ce64f4dcc66728d2ee4c2aa6f816689966363491f38425a59c7  guix-build-9fe45585d6be/output/x86_64-apple-darwin18/bitcoin-9fe45585d6be-osx-unsigned.dmg
    435a93860214e9eebe4da9e8ca92d1e699e717bfdec902fbfff620ed0b8c80822  guix-build-9fe45585d6be/output/x86_64-apple-darwin18/bitcoin-9fe45585d6be-osx-unsigned.tar.gz
    5d7af2053df1db06bd910984dd32b88873342659907362552bd7029ef4e3e9a6b  guix-build-9fe45585d6be/output/x86_64-apple-darwin18/bitcoin-9fe45585d6be-osx64.tar.gz
    
  64. fanquake commented at 1:14 am on April 16, 2021: member

    Should this PR also handle updating this part of the GUIX readme?

    Done.

  65. fanquake force-pushed on Apr 16, 2021
  66. jarolrod commented at 3:49 am on April 16, 2021: member

    Guix hashes for fa11599c7c6bd8a326781728af5b914ce21449c3:

    0find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    1
    2e111a0d3a05e837f6efb6f8f22291ccbdaf6e28f7ceb6259eb42cc56971733df  guix-build-fa11599c7c6b/output/dist-archive/bitcoin-fa11599c7c6b.tar.gz
    3446cd8b4afed859f7aac4c69964b7ef12d32db2fc0240b01e33142e13b84e918  guix-build-fa11599c7c6b/output/x86_64-apple-darwin18/bitcoin-fa11599c7c6b-osx-unsigned.dmg
    4e20d5366b4de95aaa05f52cdacddabb516db3a0dec215558a0306833aba3687e  guix-build-fa11599c7c6b/output/x86_64-apple-darwin18/bitcoin-fa11599c7c6b-osx-unsigned.tar.gz
    558dc6696b64def767eab3f2c78797e97e09b7b53778828b287a22ac2c9ad29d2  guix-build-fa11599c7c6b/output/x86_64-apple-darwin18/bitcoin-fa11599c7c6b-osx64.tar.gz
    
  67. hebasto commented at 1:12 pm on April 22, 2021: member

    Tested 1e18d58 On macOS Big Sur 11.2.3 (20D91) the dark mode (bitcoin-core/gui#154) does not work.

    For now, it is clear that the “build: Clang 10.0.1” commit is the root of the problem.

    Here are my further investigation details.

    • master (e7776e20ed0ddf41d15b3d2df87a92ea6666226c)
    1. build depends
    2. substitute all qt libs and plugins (*.a) in the depends/x86_64-apple-darwin18/ with ones compiled with the new toolchain
    3. make deploy
    4. test Bitcoin-Core.dmg on macOS 11.2.3

    Result: the dark mode works as expected.

    • master + cherry-picked 64ea3c52a0d94aa5569a891366e1d26101f3aac0
    1. build depends
    2. substitute all qt libs and plugins (*.a) in the depends/x86_64-apple-darwin18/ with ones compiled with the old toolchain
    3. make deploy
    4. test Bitcoin-Core.dmg on macOS 11.2.3

    Result: the dark mode does not work.

    My current guess is that the broken dark mode is not a compiler fault. Is another tool responsible for that?

  68. hebasto commented at 4:12 pm on April 22, 2021: member

    Tested 1e18d58 On macOS Big Sur 11.2.3 (20D91) the dark mode (bitcoin-core/gui#154) does not work.

    Another round of tests.

    • master (e7776e20ed0ddf41d15b3d2df87a92ea6666226c)
    1. build depends
    2. substitute depends/x86_64-apple-darwin18/native/bin/clang and depends/x86_64-apple-darwin18/native/lib/clang/ with ones compiled with the new toolchain
    3. make deploy
    4. test Bitcoin-Core.dmg on macOS 11.2.3

    Result: the dark mode does not work.

    • master + cherry-picked 64ea3c52a0d94aa5569a891366e1d26101f3aac0
    1. build depends
    2. substitute depends/x86_64-apple-darwin18/native/bin/clang and depends/x86_64-apple-darwin18/native/lib/clang/ with ones compiled with the old toolchain
    3. make deploy
    4. test Bitcoin-Core.dmg on macOS 11.2.3

    Result: the dark mode works as expected.

  69. fanquake force-pushed on Apr 28, 2021
  70. fanquake commented at 3:50 am on April 28, 2021: member
    Added a commit to start using -stdlib++-isystem now that we are using Clang 10.
  71. MarcoFalke deleted a comment on Apr 28, 2021
  72. MarcoFalke removed the label Needs Guix build on Apr 28, 2021
  73. MarcoFalke added the label Needs gitian build on Apr 28, 2021
  74. MarcoFalke added the label Needs Guix build on Apr 28, 2021
  75. hebasto commented at 5:18 pm on April 28, 2021: member
    I think #21793 should go first :)
  76. DrahtBot removed the label Needs gitian build on Apr 30, 2021
  77. build: libtapi 1100.0.11 9b193cd2a3
  78. build: Clang 10.0.1
    LLVM 8 has inherent nondeterminism in the compiler, fixed in LLVM 9+.
    f48f187cce
  79. build: native cctools 973.0.1, ld64 609 9ed2f19d38
  80. build: Xcode 12.1, macOS SDK 10.15.6 c29cba44b3
  81. build: no longer patch threading out of ld64
    Changes introduced in ld64-450.3 have likely removed the need for us to
    patch out pthreads. See:
    https://opensource.apple.com/source/ld64/ld64-450.3/src/ld/InputFiles.cpp.auto.html.
    b80a6af9e5
  82. guix: use Clang 10 for the macOS cross compile 51d9d1607f
  83. build: use -stdlib++-isystem with Clang 10 a5550f877a
  84. fanquake force-pushed on May 1, 2021
  85. fanquake removed the label Needs Guix build on May 1, 2021
  86. fanquake added the label Needs gitian build on May 1, 2021
  87. fanquake added the label Needs Guix build on May 1, 2021
  88. fanquake commented at 6:09 am on May 1, 2021: member
    Rebased for #21793. Will add updated gitian and guix build hashes to the PR description.
  89. MarcoFalke deleted a comment on May 1, 2021
  90. hebasto approved
  91. hebasto commented at 10:54 am on May 1, 2021: member

    ACK a5550f877a2c46d01bb620ae051c0c8ed0fecd0b

    Guix build:

    0$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    1f6c3817b8fe5f7370299d1ae2533e4a3acd313ba9f9aa8d423a8956117e52dd5  guix-build-a5550f877a2c/output/dist-archive/bitcoin-a5550f877a2c.tar.gz
    24954dcf563c2d496b8d9fecd48f8e3f7fba2f319ffa254a5bc8ee12cfee6acf0  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx-unsigned.dmg
    38f6095b445c7f1a8e6accd86bb7f0696d5849402084927d2b726b7d557831c3a  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx-unsigned.tar.gz
    4cc40f25477b4defc1617ae694313d80f307ddf6742fe6cc85c6bc0e215ef8be0  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx64.tar.gz
    

    Gitian build:

    0Generating report
    1506a8abdefe559999b43dd9f14905b9b2b5a3363b1cd013d45ae47acc1f7ef6c  bitcoin-a5550f877a2c-osx-unsigned.dmg
    2f606997f74026dd12d110d683c6f116b40df324836904ef507dd7ac787e6ebe2  bitcoin-a5550f877a2c-osx-unsigned.tar.gz
    35b495ef15f2c3260c2950921b61326912a9bf533cccd51e13818809fd225489e  bitcoin-a5550f877a2c-osx64.tar.gz
    4f6c3817b8fe5f7370299d1ae2533e4a3acd313ba9f9aa8d423a8956117e52dd5  src/bitcoin-a5550f877a2c.tar.gz
    566a6779b4dcf093d64d536a480737278c05d65d4941bfe15ea342e4e05cb2397  bitcoin-core-osx-22-res.yml
    6Done.
    

    bitcoin-a5550f877a2c-osx-unsigned.dmg tested on macOS Big Sur 11.3 (20E232) – the dark mode works as expected.

  92. in depends/hosts/darwin.mk:3 in c29cba44b3 outdated
    0@@ -1,7 +1,7 @@
    1 OSX_MIN_VERSION=10.14
    2-OSX_SDK_VERSION=10.15.1
    3-XCODE_VERSION=11.3.1
    4-XCODE_BUILD_ID=11C505
    5+OSX_SDK_VERSION=10.15.6
    6+XCODE_VERSION=12.1
    


    Sjors commented at 1:22 pm on May 1, 2021:
    Do we want to leapfrog to Xcode 12.5 or just leave this? There is a new SDK version 10.15.7 which was a security update, but I don’t know if it’s relevant to the things we use.

    fanquake commented at 6:02 am on May 3, 2021:
    Going to leave this as-is for now. May be revisited soon in regards to proper Apple ARM support.
  93. Sjors commented at 1:48 pm on May 1, 2021: member

    Having some trouble doing a gitian build, probably unrelated to this PR though…

    0./gitian-build-22.py -u https://github.com/fanquake/bitcoin -o m -b -j 10 -m 20000 -d -D -c -n sjors libtapi_1100011
    

    (where gitian-build-22.py refers to the latest version of https://github.com/bitcoin/bitcoin/blob/master/contrib/gitian-build.py)

     0Compiling libtapi_1100011 MacOS
     1--- Building for focal amd64 ---
     2Stopping target if it is up
     3Error response from daemon: No such container: gitian-target
     4Error: No such container: gitian-target
     5Making a new image copy
     6Starting target
     7Checking if target is upUnable to find image 'base-focal-amd64:latest' locally
     8docker: Error response from daemon: pull access denied for base-focal-amd64, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
     9See 'docker run --help'.
    10..............................
    11Error: No such container: gitian-target
    
  94. hebasto commented at 2:03 pm on May 1, 2021: member

    Having some trouble doing a gitian build, probably unrelated to this PR though…

    What if to re-run from the --setup command?

  95. Sjors commented at 3:35 pm on May 1, 2021: member

    Reviewed code and tested a5550f8

    I was able to build on macOS 11.3 with Xcode 12.5 as well as cross-compile on Ubuntu. Those binaries seem to behave.

    I also did a gitian build:

    0506a8abdefe559999b43dd9f14905b9b2b5a3363b1cd013d45ae47acc1f7ef6c  bitcoin-a5550f877a2c-osx-unsigned.dmg
    1f606997f74026dd12d110d683c6f116b40df324836904ef507dd7ac787e6ebe2  bitcoin-a5550f877a2c-osx-unsigned.tar.gz
    25b495ef15f2c3260c2950921b61326912a9bf533cccd51e13818809fd225489e  bitcoin-a5550f877a2c-osx64.tar.gz
    3f6c3817b8fe5f7370299d1ae2533e4a3acd313ba9f9aa8d423a8956117e52dd5  src/bitcoin-a5550f877a2c.tar.gz
    470433a6f9a40b0a7feb07392810ed0b084763afc9a0c74e3ef09c514b168e0a8  bitcoin-core-osx-22-res.yml
    

    Not sure why bitcoin-core-osx-22-res.yml doesn’t match: https://gist.github.com/Sjors/d7c1f3bff530a48fa7aa1cdf91f7217c

  96. fanquake commented at 6:02 am on May 3, 2021: member

    Thanks for testing.

    Not sure why bitcoin-core-osx-22-res.yml doesn’t match:

    It’s not expected that *-res.yml files match.

  97. fanquake merged this on May 3, 2021
  98. fanquake closed this on May 3, 2021

  99. MarcoFalke removed the label Needs Guix build on May 3, 2021
  100. MarcoFalke removed the label Needs gitian build on May 3, 2021
  101. sidhujag referenced this in commit 690c32ab0a on May 3, 2021
  102. fanquake deleted the branch on May 5, 2021
  103. barton2526 referenced this in commit 35b3b2aece on Jun 2, 2021
  104. div72 referenced this in commit b65cf88355 on Jun 30, 2021
  105. kittywhiskers referenced this in commit cd9be9ab20 on Aug 27, 2021
  106. kittywhiskers referenced this in commit 50060a3126 on Aug 30, 2021
  107. kittywhiskers referenced this in commit 19e01b542d on Sep 1, 2021
  108. kittywhiskers referenced this in commit eebfef9e5e on Sep 1, 2021
  109. kittywhiskers referenced this in commit 2cbbbd6a2c on Sep 1, 2021
  110. kittywhiskers referenced this in commit 0b31f213b8 on Sep 2, 2021
  111. kittywhiskers referenced this in commit 1b5f20e506 on Sep 3, 2021
  112. kittywhiskers referenced this in commit 0681143856 on Sep 3, 2021
  113. kittywhiskers referenced this in commit 89b7b3238a on Sep 3, 2021
  114. kittywhiskers referenced this in commit b20e601b85 on Sep 4, 2021
  115. UdjinM6 referenced this in commit 2bc2607e1c on Sep 5, 2021
  116. kittywhiskers referenced this in commit 6ed6716d44 on Oct 2, 2021
  117. kittywhiskers referenced this in commit f022a01649 on Oct 2, 2021
  118. kittywhiskers referenced this in commit 091477d853 on Oct 5, 2021
  119. PastaPastaPasta referenced this in commit 07b1d52b03 on Oct 5, 2021
  120. kittywhiskers referenced this in commit 752e52e03c on Oct 12, 2021
  121. DeckerSU referenced this in commit a1be9b834f on Nov 16, 2021
  122. pravblockc referenced this in commit 7488507f20 on Nov 18, 2021
  123. TheComputerGenie referenced this in commit 5f93d61885 on Jan 5, 2022
  124. fanquake referenced this in commit 6ac637f97f on Feb 9, 2022
  125. sidhujag referenced this in commit c91a634b4a on Feb 9, 2022
  126. PastaPastaPasta referenced this in commit 9ca74f87bf on Apr 7, 2022
  127. PastaPastaPasta referenced this in commit 849ead7d6e on Apr 11, 2022
  128. gades referenced this in commit 740d6f5c0b on May 4, 2022
  129. gades referenced this in commit 406d9b5647 on May 8, 2022
  130. gades referenced this in commit 4831ceeb28 on May 8, 2022
  131. gwillen referenced this in commit bf708b833a on Jun 1, 2022
  132. DrahtBot locked this on Aug 18, 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 07:12 UTC

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