build: set minimum supported macOS to 10.14 #20419

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:macos_minimum_10_14 changing 9 files +10 −10
  1. fanquake commented at 1:50 pm on November 18, 2020: member

    This is a requirement for C++17 support. See my comments here:

    You cannot use std::get with std::variant on macOS < 10.14, because Apples libc++ doesn’t support the std::bad_variant_access exception. Relevant comment in #19183.

    While we could work around this in our own code, using std::get_if, this would still be a problem for 3rd-party dependencies.

    I’ve been testing Qt 5.15LTS (we’ll have to enable C++17 in qt, and may upgrade to a newer version at the same time), and you can’t enable -std c++17, while targeting a macOS deployment version < 10.14, configuring will fail. They are making use of std::get with std::variant throughout their cocoa code.

    We would have to had to have bumped to at least 10.13 in any case, as Qt 5.15 (#19716) requires 10.13+.

  2. build: set minimum supported macOS to 10.14 a52ecc936a
  3. fanquake added the label macOS on Nov 18, 2020
  4. fanquake added the label Build system on Nov 18, 2020
  5. fanquake added this to the milestone 22.0 on Nov 18, 2020
  6. MarcoFalke added the label Needs gitian build on Nov 18, 2020
  7. MarcoFalke added the label Needs Guix build on Nov 18, 2020
  8. jonasschnelli commented at 2:05 pm on November 18, 2020: contributor
    macOS 10.14 was released Sept 2018. Do we really want to drop older macOSes? Also some (older) Mac Hardware can’t be upgraded to 10.14.
  9. MarcoFalke commented at 2:17 pm on November 18, 2020: member
    No opinion on this, but it should be possible to use C++17, but postpone std::variant and qt5.15 to a later release?
  10. luke-jr commented at 3:33 pm on November 18, 2020: member

    macOS 10.13 is still supported and 10.13.6 was released only 6 days ago…

    But, we only support the most recent LTS of major Linux distros. I see no reason the macOS equivalent wouldn’t be macOS 11 (Big Sur)…

    otoh, maybe the policy needs to be different for macOS due to the hardware incompatibility @jonasschnelli mentions…

  11. DrahtBot commented at 4:07 pm on November 18, 2020: 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:

    • #20019 (depends: Properly pass $PATH to configure and pin by dongcarl)
    • #19179 (ci: Run ci configs on cirrus by MarcoFalke)

    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.

  12. MarcoFalke commented at 4:43 pm on November 18, 2020: member

    But, we only support the most recent LTS of major Linux distros. I see no reason the macOS equivalent wouldn’t be macOS 11 (Big Sur)…

    You keep repeating that, but I can’t find where this is documented or was discussed.

  13. hebasto commented at 5:01 pm on November 18, 2020: member

    macOS 10.13 is still supported and 10.13.6 was released only 6 days ago…

    Not a release, but a security update, right?

    If C++17 and macOS 10.13 cannot coexist peacefully, I Concept ACK on moving to macOS 10.14+

    Owners of macOS 10.13 have two choices:

    • upgrade macOS (if hw supports it)
    • do not upgrade Bitcoin Core
  14. luke-jr commented at 5:13 pm on November 18, 2020: member
    @MarcoFalke That’s been the case for many years. I don’t recall when it was first discussed, but it likely came up around C++11 migration. @hebasto I think there’s also an option to install Linux? Also, I don’t think anyone has plans to support 0.21 longer than normal…
  15. MarcoFalke commented at 6:37 pm on November 18, 2020: member
    @luke-jr The previous LTS of Ubuntu (18.04) is fully supported and stays that way. Dropping support for that would also drop support for the most prominent OS that all nodes run on.
  16. MarcoFalke commented at 6:55 pm on November 18, 2020: member

    macOS 10.13 High Sierra - End of Life Support Ending November 30, 2020

    source: (unverified) https://computing.cs.cmu.edu/news/2019/eol-macos-highsierra

  17. sipa commented at 2:30 am on November 19, 2020: member
    If macOS 10.13 will become unsupported this year, I don’t think there is much of a problem with requiring 10.14 for 0.22.
  18. DrahtBot commented at 8:32 am on November 19, 2020: member

    Guix builds

    File commit 50e019a97a5b49caee867ec7d630fca908caed9d(master) commit 32b11f9702790528a94968d30ae682cfaf0faf91(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz b20652781029021c... 6a0fefedbe0d9e42...
    *-aarch64-linux-gnu.tar.gz 1426df832200d664... eb623fc03ba82653...
    *-arm-linux-gnueabihf-debug.tar.gz 1c0cb94f9fe2a52f... b973d76138f90c32...
    *-arm-linux-gnueabihf.tar.gz 60fa149abc9736dc... 14f362c691200bb6...
    *-riscv64-linux-gnu-debug.tar.gz fa2355cab1a62e5c... de9ccac17a4d3980...
    *-riscv64-linux-gnu.tar.gz 4b8fa3b0a54529c4... 5f87608c3a36ea69...
    *-win-unsigned.tar.gz d3a758455df41421... b80e68ecc1bb346a...
    *-win64-debug.zip 3ec8c45128a3ddc9... 2f1d56264d507f51...
    *-win64-setup-unsigned.exe f30361367efb4d02... d5a1ad9aaec5f00a...
    *-win64.zip 2ad0a046505225db... 22fdb9022f365345...
    *-x86_64-linux-gnu-debug.tar.gz 56a39c681e2021bc... b882641222b0a0f1...
    *-x86_64-linux-gnu.tar.gz 751c7f3dc42b390f... 79b751f9443dbf0b...
    *.tar.gz 67286724f3822012... 80de38150a528f5b...
    guix_build.log e57e9b4b28105223... 8a77282c305fc7f7...
    guix_build.log.diff ef81ec7f35e377cf...
  19. DrahtBot removed the label Needs Guix build on Nov 19, 2020
  20. laanwj commented at 10:01 am on November 19, 2020: member
    Concept ACK. I don’t think bumping the minimum MacOS version was ever an issue before. In contrast to Windows and Linux users, Mac users tend to be, in general, really eager for OS updates, and the life of an older version is very short.
  21. practicalswift commented at 10:50 am on November 19, 2020: contributor
    Concept ACK for the reasons given by @laanwj
  22. DrahtBot commented at 7:28 am on November 20, 2020: member

    Gitian builds

    File commit ea7926527ce36c05cacb99602b2b59579ff646e8(master) commit 5e2138c602bc00a029edcc34ff50c74194efa3db(master and this pull)
    bitcoin-core-linux-0.22-res.yml 0423caa8fa8b5299... 59b997373a06a261...
    bitcoin-core-osx-0.22-res.yml fc128b43a2a12ef6... f7359b4db3833580...
    bitcoin-core-win-0.22-res.yml a027dd331b560840... cd6a93c8a8f545ba...
    *-aarch64-linux-gnu-debug.tar.gz ce172e5a3523042c... 67d6a17d9e53be43...
    *-aarch64-linux-gnu.tar.gz 27e4854ccca1d8b7... bc5c67fb586b7601...
    *-arm-linux-gnueabihf-debug.tar.gz 200aaa2cd078100b... a5390a1a398b252e...
    *-arm-linux-gnueabihf.tar.gz 1da08fc895154529... 37a42ad0c3c6b618...
    *-osx-unsigned.dmg e08113d01a1090c9... faac408248c76109...
    *-osx64.tar.gz 5741bc1a101a058f... 7259073361d7a000...
    *-riscv64-linux-gnu-debug.tar.gz 988f195ed500e55f... 921507ee9454fd28...
    *-riscv64-linux-gnu.tar.gz 372addb74f452fe2... ec8a4bec120d2ffc...
    *-win64-debug.zip f8bdc856a4903d1f... c62ea10bd14ab11b...
    *-win64-setup-unsigned.exe dff18400bfa4bd2d... a3f449f1f32ca4cc...
    *-win64.zip c39e31f71d6a2521... 3721628c5eada621...
    *-x86_64-linux-gnu-debug.tar.gz 253dc74b0e9736cd... 2cf8cab793a67b16...
    *-x86_64-linux-gnu.tar.gz a6a2b0781e6a1a4c... 22f846c41d5736f0...
    *.tar.gz 2d3e596ad37878b3... 65b4a86b0a4dcf67...
    linux-build.log 041e34e693ee09c9... acd9e0f5801ab46e...
    osx-build.log 30ca6a28c5bb9c76... 9b69535837a952b3...
    win-build.log 5bcdb3f5cf680ea0... 36bb42bbc9df0f60...
    bitcoin-core-linux-0.22-res.yml.diff 01bcd440058eb755...
    bitcoin-core-osx-0.22-res.yml.diff c0fc3feeb647e392...
    bitcoin-core-win-0.22-res.yml.diff bb4c52362516e1f3...
    linux-build.log.diff 182f3de412826332...
    osx-build.log.diff 22022b9c02ddfbfa...
    win-build.log.diff 2016ff3237f788a2...
  23. DrahtBot removed the label Needs gitian build on Nov 20, 2020
  24. hebasto approved
  25. hebasto commented at 7:31 am on November 20, 2020: member
    ACK a52ecc936a267cae97c2f313743bf75d5af07700, I have reviewed the code and it looks OK, I agree it can be merged.
  26. laanwj merged this on Nov 23, 2020
  27. laanwj closed this on Nov 23, 2020

  28. sidhujag referenced this in commit 2e0abd5b41 on Nov 23, 2020
  29. fanquake referenced this in commit 0b16ae6041 on Nov 26, 2020
  30. zkbot referenced this in commit fb3cb30175 on Dec 16, 2020
  31. zkbot referenced this in commit dea50714f9 on Dec 17, 2020
  32. fanquake referenced this in commit f22a3ec140 on Feb 2, 2021
  33. fanquake referenced this in commit 5f18080c29 on Feb 4, 2021
  34. sidhujag referenced this in commit 67fe83a04c on Feb 4, 2021
  35. hebasto commented at 3:42 pm on February 26, 2021: member

    Just for the record: Homebrew does not provide support for macOS 10.12 and 10.13, e.g.:

  36. PastaPastaPasta referenced this in commit 6ca78bcd2f on Jun 27, 2021
  37. PastaPastaPasta referenced this in commit 17b82f9a97 on Jun 28, 2021
  38. PastaPastaPasta referenced this in commit 1324fa275e on Jun 29, 2021
  39. PastaPastaPasta referenced this in commit ea0c2dc63e on Jul 1, 2021
  40. PastaPastaPasta referenced this in commit c9fd018e16 on Jul 1, 2021
  41. stevenroose referenced this in commit 0bc24d95a8 on Jul 12, 2021
  42. kittywhiskers referenced this in commit 0ef42f5e3a on Jul 15, 2021
  43. kittywhiskers referenced this in commit 0f14424a98 on Jul 15, 2021
  44. PastaPastaPasta referenced this in commit 25df5c7cf2 on Jul 15, 2021
  45. PastaPastaPasta referenced this in commit f9ae80e2cf on Jul 16, 2021
  46. kittywhiskers referenced this in commit f7e6a5a82f on Jul 20, 2021
  47. kittywhiskers referenced this in commit f770b4a1b5 on Jul 20, 2021
  48. kittywhiskers referenced this in commit 5165e20190 on Jul 20, 2021
  49. kittywhiskers referenced this in commit b5e0d03e68 on Jul 20, 2021
  50. kittywhiskers referenced this in commit 33fdc0bc1c on Aug 1, 2021
  51. kittywhiskers referenced this in commit fb16376842 on Aug 24, 2021
  52. kittywhiskers referenced this in commit 767945c1e5 on Aug 24, 2021
  53. kittywhiskers referenced this in commit 1594756285 on Aug 25, 2021
  54. kittywhiskers referenced this in commit dc84bb93f5 on Aug 25, 2021
  55. kittywhiskers referenced this in commit 092606ce78 on Aug 26, 2021
  56. kittywhiskers referenced this in commit a57885e040 on Aug 26, 2021
  57. kittywhiskers referenced this in commit 778bab4f27 on Aug 26, 2021
  58. kittywhiskers referenced this in commit df655e00e4 on Aug 27, 2021
  59. kittywhiskers referenced this in commit 69e806c5fe on Aug 30, 2021
  60. kittywhiskers referenced this in commit 91b28dddd5 on Sep 1, 2021
  61. kittywhiskers referenced this in commit 18760e3776 on Sep 1, 2021
  62. kittywhiskers referenced this in commit 1f89095eaa on Sep 1, 2021
  63. kittywhiskers referenced this in commit fa18fb9572 on Sep 1, 2021
  64. kittywhiskers referenced this in commit e3ee72208c on Sep 2, 2021
  65. kittywhiskers referenced this in commit d51c99c50a on Sep 3, 2021
  66. kittywhiskers referenced this in commit 05edd79912 on Sep 3, 2021
  67. kittywhiskers referenced this in commit d451833380 on Sep 3, 2021
  68. gades referenced this in commit 65243d70a2 on May 4, 2022
  69. DrahtBot locked this on Aug 18, 2022
  70. fanquake deleted the branch on Nov 9, 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-11-17 00:12 UTC

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