Skip to content

Conversation

@fanquake
Copy link
Member

@fanquake fanquake commented Sep 16, 2021

Taken out of #20744, as splitting up some of the build changes was mentioned here.

This is required to use std::filesystem on macOS, as support for it only landed in the libc++.dylib shipped with 10.15. So if we want to move to using std::filesystem for 23.0, this bump is required.

See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes

Clang now supports the C++17 <filesystem> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13.

macOS 10.15 was released in October 2019. macOS OS's seem to have a life of about 3 years, so it's possible that 10.14 will become officially unsupported by the end of 2021 and prior to the release of 23.0.

Guix builds:

bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
abc8b749be65f1339dcdf44bd1ed6ade2533b8e3b5030ad1dde0ae0cede78136  guix-build-a43b8e955558/output/dist-archive/bitcoin-a43b8e955558.tar.gz
1edcc301eb4c02f3baa379beb8d4c78e661abc24a293813bc9d900cf7255b790  guix-build-a43b8e955558/output/x86_64-apple-darwin19/SHA256SUMS.part
e9dbb5594a664519da778dde9ed861c3f0f631525672e17a67eeda599f16ff44  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.dmg
11b23a17c630dddc7594c25625eea3de42db50f355733b9ce9ade2d8eba3a8f3  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.tar.gz
257ba64a327927f94d9aa0a68da3a2695cf880b3ed1a0113c5a966dcc426eb5e  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx64.tar.gz

@hebasto
Copy link
Member

hebasto commented Sep 16, 2021

Concept ACK.

Also it will make the make deploy bug on macOS 10.14.6 outdated :)

@fanquake
Copy link
Member Author

Also it will make the make deploy bug on macOS 10.14.6 outdated :)

I've commented on that PR. Given what you've posted it's not exactly clear that is a bug.

@hebasto
Copy link
Member

hebasto commented Sep 16, 2021

This is required to use std::filesystem on macOS as support for it only
landed in the libc++ dylib shipped with 10.15.

See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes

Clang now supports the C++17 <filesystem> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13.
@fanquake
Copy link
Member Author

Also in

Done

@maflcko
Copy link
Member

maflcko commented Sep 16, 2021

There was an odd native windows CI failure, which I re-ran: https://cirrus-ci.com/task/6041484689408000

@hebasto
Copy link
Member

hebasto commented Sep 16, 2021

There was an odd native windows CI failure, which I re-ran: https://cirrus-ci.com/task/6041484689408000

It's a network failure

https://github.com/PowerShell/PowerShell/releases/download/v7.1.0/PowerShell-7.1.0-win-x86.zip: WinHttpReceiveResponse() failed: 12030

which happens sometimes.

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK a43b8e9

Guix build:

$ env HOSTS='x86_64-apple-darwin19' ./contrib/guix/guix-build
$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
abc8b749be65f1339dcdf44bd1ed6ade2533b8e3b5030ad1dde0ae0cede78136  guix-build-a43b8e955558/output/dist-archive/bitcoin-a43b8e955558.tar.gz
1edcc301eb4c02f3baa379beb8d4c78e661abc24a293813bc9d900cf7255b790  guix-build-a43b8e955558/output/x86_64-apple-darwin19/SHA256SUMS.part
e9dbb5594a664519da778dde9ed861c3f0f631525672e17a67eeda599f16ff44  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.dmg
11b23a17c630dddc7594c25625eea3de42db50f355733b9ce9ade2d8eba3a8f3  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.tar.gz
257ba64a327927f94d9aa0a68da3a2695cf880b3ed1a0113c5a966dcc426eb5e  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx64.tar.gz

@laanwj
Copy link
Member

laanwj commented Sep 16, 2021

Welcome to the yearly MacOSX bump 😄
I guess that's a fact of life, Apple is kind of harsh with regard to backward/forward compatibility (so many quasi-arbitrary changes every release, no beginning in trying to support all combinations…), and besides, MacOS users don't seem to mind.
Concept ACK.

@DrahtBot
Copy link
Contributor

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #22392 (scripts: use LIEF for ELF security & symbol checks 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.

@fanquake
Copy link
Member Author

Welcome to the yearly MacOSX bump 😄
I guess that's a fact of life,

At least this time it's also in aide of a larger project goal, which is the migration to std::filesystem.

@DrahtBot
Copy link
Contributor

Guix builds

File commit ec7ec69
(master)
commit b6e251eb13defb34113f4b31725954467643b2c0
(master and this pull)
SHA256SUMS.part 30e5723accb0ad0a... ec71812813770020...
*-aarch64-linux-gnu-debug.tar.gz 1b35a682933b0d78... 85a4ce9c9cc9c98f...
*-aarch64-linux-gnu.tar.gz 5416532d8568956f... 454d0d38058c2389...
*-arm-linux-gnueabihf-debug.tar.gz cfbbab7308283fdd... 380f65853232040f...
*-arm-linux-gnueabihf.tar.gz ac6bf5cfa41b5798... 840b6f08e3ebe1ee...
*-osx-unsigned.dmg 5376b0d9063fbb7c... d4ed6d6fa80ace1b...
*-osx-unsigned.tar.gz 192d483e5f02c1c2... 982ec689e2013ebd...
*-osx64.tar.gz 01a08298b13827e4... 3b6a2e4102746542...
*-powerpc64-linux-gnu-debug.tar.gz e6bc61a37b4f523e... 48363d213ce1a36a...
*-powerpc64-linux-gnu.tar.gz 78997e89fe41b0c3... adfcbd1b45469d86...
*-powerpc64le-linux-gnu-debug.tar.gz 3d8e67d3ae77a2e7... ae2773f72177210b...
*-powerpc64le-linux-gnu.tar.gz 04a24c1c9bc88fd7... ddfcf2e9278da825...
*-riscv64-linux-gnu-debug.tar.gz 75ed74169dc2df5e... a530938bd23f77fe...
*-riscv64-linux-gnu.tar.gz b8fdcefce3fa461c... f7c93b684f9ddc46...
*-win-unsigned.tar.gz 6f0728d591fa00ff... a63484ebed40e4b4...
*-win64-debug.zip 2e7664ac9477f333... bd9c6e76bba0d4ad...
*-win64-setup-unsigned.exe 4786a9fe9069e8d8... 5f309f147c31e5e6...
*-win64.zip 4e76f2f780a76fda... 9d8c92b26329b91f...
*-x86_64-linux-gnu-debug.tar.gz 9d38e61ec8a28484... 1b8f839c80a60bf6...
*-x86_64-linux-gnu.tar.gz 5914cb1dfa856225... 976dfd90d1bfb554...
*.tar.gz 396555b954276dbc... ed93a1dbbcf9b8c9...
guix_build.log ca9634f16071a9aa... 76491b5c9bedab71...
guix_build.log.diff 242e0cbef03e11a1...

Copy link
Contributor

@jarolrod jarolrod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK a43b8e9

I have checked that any instances of *-darwin18 have been updated to *-darwin-19, also CI is green 👍.

In terms of timing, it is likely that macOS 10.14 will be depricated around the time that 23.0 is released. This table confirms the typical lifetime of around 3 years. Additionally, I've noticed other applications I use start to phase out 10.14 support.

Guix Hashes, mine match all posted hashes

find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum

abc8b749be65f1339dcdf44bd1ed6ade2533b8e3b5030ad1dde0ae0cede78136  guix-build-a43b8e955558/output/dist-archive/bitcoin-a43b8e955558.tar.gz
1edcc301eb4c02f3baa379beb8d4c78e661abc24a293813bc9d900cf7255b790  guix-build-a43b8e955558/output/x86_64-apple-darwin19/SHA256SUMS.part
e9dbb5594a664519da778dde9ed861c3f0f631525672e17a67eeda599f16ff44  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.dmg
11b23a17c630dddc7594c25625eea3de42db50f355733b9ce9ade2d8eba3a8f3  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.tar.gz
257ba64a327927f94d9aa0a68da3a2695cf880b3ed1a0113c5a966dcc426eb5e  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx64.tar.gz

@fanquake fanquake merged commit 8f022a5 into bitcoin:master Sep 21, 2021
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Sep 21, 2021
@fanquake fanquake deleted the macos_minimum_10_15 branch September 21, 2021 23:39
kwvg added a commit to kwvg/dash that referenced this pull request Oct 5, 2021
PastaPastaPasta added a commit to dashpay/dash that referenced this pull request Oct 5, 2021
pravblockc pushed a commit to pravblockc/dash that referenced this pull request Nov 18, 2021
gades pushed a commit to cosanta/cosanta-core that referenced this pull request May 6, 2022
dekm pushed a commit to unigrid-project/daemon that referenced this pull request Oct 27, 2022
a43b8e9 build: set OSX_MIN_VERSION to 10.15 (fanquake)

Pull request description:

  Taken out of bitcoin#20744, as splitting up some of the build changes was mentioned [here](bitcoin#22937 (comment)).

  This is required to use `std::filesystem` on macOS, as support for it only landed in the libc++.dylib shipped with 10.15. So if we want to move to using `std::filesystem` for `23.0`, this bump is required.

  See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes

  > Clang now supports the C++17 \<filesystem\> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13.

  macOS 10.15 was released in October 2019. macOS OS's seem to have a life of about 3 years, so it's possible that 10.14 will become officially unsupported by the end of 2021 and prior to the release of 23.0.

  Guix builds:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  abc8b749be65f1339dcdf44bd1ed6ade2533b8e3b5030ad1dde0ae0cede78136  guix-build-a43b8e955558/output/dist-archive/bitcoin-a43b8e955558.tar.gz
  1edcc301eb4c02f3baa379beb8d4c78e661abc24a293813bc9d900cf7255b790  guix-build-a43b8e955558/output/x86_64-apple-darwin19/SHA256SUMS.part
  e9dbb5594a664519da778dde9ed861c3f0f631525672e17a67eeda599f16ff44  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.dmg
  11b23a17c630dddc7594c25625eea3de42db50f355733b9ce9ade2d8eba3a8f3  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx-unsigned.tar.gz
  257ba64a327927f94d9aa0a68da3a2695cf880b3ed1a0113c5a966dcc426eb5e  guix-build-a43b8e955558/output/x86_64-apple-darwin19/bitcoin-a43b8e955558-osx64.tar.gz
  ```

ACKs for top commit:
  hebasto:
    ACK a43b8e9
  jarolrod:
    ACK a43b8e9

Tree-SHA512: 9ac77be7cb56c068578860a3b2b8b7487c9e18b71b14aedd77a9c663f5d4bb19756d551770c02ddd12f1797beea5757b261588e7b67fb53509bb998ee8022369
@bitcoin bitcoin locked and limited conversation to collaborators Oct 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants