Skip to content

Conversation

@achow101
Copy link
Member

Fixes the MacOSX10.14.sdk.tar.gz creation command to have MacOSX.sdk be correctly named as MacOSX10.14.sdk and for the resulting file to be placed in the current directory. Gitian requires that tar.gz contains a folder named MacOSX10.14.sdk and the command did not do this originally. Having the file be placed in the current directory is a convenience so builders don't have to go find it.

Also clarifies which version of Xcode to download and where it can be downloaded.

@fanquake fanquake added the Docs label Apr 11, 2020
@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:

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.

@Emzy
Copy link
Contributor

Emzy commented Apr 11, 2020

Approach ACK
It fixed my gitian build setup.

@fanquake fanquake requested a review from dongcarl April 12, 2020 11:12
@Sjors
Copy link
Member

Sjors commented Apr 19, 2020

See also #18674

@Sjors
Copy link
Member

Sjors commented Apr 19, 2020

On macOS the equivalent is tar -s "/MacOSX.sdk/MacOSX10.14.sdk/"

@achow101
Copy link
Member Author

@Sjors Was that the exact command you used? I can update the doc with what actually worked.

@Sjors
Copy link
Member

Sjors commented Apr 23, 2020

tar -s "/MacOSX.sdk/MacOSX10.14.sdk/" -C Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.14.sdk.tar.gz MacOSX.sdk

@achow101 achow101 force-pushed the fix-osx-sdk-extract branch from 142d565 to eb37275 Compare April 23, 2020 17:22
@Sjors
Copy link
Member

Sjors commented Apr 23, 2020

ACK eb37275 for the macOS instruction

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

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

ACK eb37275 - tested the macOS and Linux SDK extraction. Also noticed something seemingly broken with Apple tar, but will open an issue to follow up.

@fanquake fanquake merged commit d8ca51d into bitcoin:master Apr 24, 2020
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Apr 24, 2020
@fanquake fanquake mentioned this pull request Apr 24, 2020
laanwj added a commit that referenced this pull request May 11, 2020
7f7548d rpc: Do not advertise dumptxoutset as a way to flush the chainstate (MarcoFalke)
a9ca65b Fix naming of macOS SDK and clarify version (Andrew Chow)
54d2063 Do not expose and consider -logthreadnames when it does not work (Hennadii Stepanov)
6986b26 build: fix ASLR for bitcoin-cli on Windows (fanquake)
1d1e358 build: Set libevent minimum version to 2.0.21 (Hennadii Stepanov)
842b13a Avoid non-trivial global constants in SHA-NI code (Pieter Wuille)
ade4185 gitian: Add missing automake package to gitian-win-signer.yml (Andrew Chow)

Pull request description:

  Currently backports the following to the 0.20 branch:

  * #18598 - gitian: Add missing automake package to gitian-win-signer.yml
  * #18702 - build: fix ASLR for bitcoin-cli on Windows
  * #18676 - build: Check libevent minimum version in configure script
  * #18665 - Do not expose and consider -logthreadnames when it does not work
  * #18553 - Avoid non-trivial global constants in SHA-NI code
  * #18589 - Fix naming of macOS SDK and clarify version

ACKs for top commit:
  laanwj:
    ACK 7f7548d

Tree-SHA512: 2cba748414a440e3fb901940085a7ae059e8b926c9187fbbbdeb7846a32e7374f318cc21e499c911ff803c42aef2c844b04af10b87f9c5a2b3edf6deb03ebb04
zkbot added a commit to zcash/zcash that referenced this pull request Jul 30, 2020
Modernise macOS cross-compilation toolchain

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#13617
  - Excluding the QT GUI changes.
- bitcoin/bitcoin#17550
- bitcoin/bitcoin#16392
  - Excluding the QT GUI changes.
- bitcoin/bitcoin#18589
- bitcoin/bitcoin#19240
- bitcoin/bitcoin#19407
- bitcoin/bitcoin#17919
  - Only the ancillary changes, not the `FORCE_USE_SYSTEM_CLANG` change.
- bitcoin/bitcoin#19530

After these changes, macOS versions earlier than 10.12 are no longer supported.

To cross-compile for macOS:
- Follow the instructions in `contrib/macdeploy/README.md` to generate
  `Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz`
  (requires an Apple Developer Account)
- Extract it into `depends/SDKs` (creating that folder first if it does not exist)
- `HOST=x86_64-apple-darwin16 ./zcutil/build.sh`
zkbot added a commit to zcash/zcash that referenced this pull request Aug 7, 2020
Modernise macOS cross-compilation toolchain

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#13617
  - Excluding the QT GUI changes.
- bitcoin/bitcoin#17550
- bitcoin/bitcoin#16392
  - Excluding the QT GUI changes.
- bitcoin/bitcoin#18589
- bitcoin/bitcoin#19240
- bitcoin/bitcoin#19407
- bitcoin/bitcoin#17919
  - Only the ancillary changes, not the `FORCE_USE_SYSTEM_CLANG` change.
- bitcoin/bitcoin#19530

After these changes, macOS versions earlier than 10.12 are no longer supported.

To cross-compile for macOS:
- Follow the instructions in `contrib/macdeploy/README.md` to generate
  `Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz`
  (requires an Apple Developer Account)
- Extract it into `depends/SDKs` (creating that folder first if it does not exist)
- `HOST=x86_64-apple-darwin16 ./zcutil/build.sh`
backpacker69 referenced this pull request in peercoin/peercoin Mar 28, 2021
Github-Pull: #18589
Rebased-From: eb37275
furszy added a commit to PIVX-Project/PIVX that referenced this pull request May 25, 2021
e1b89ac Fix QPainter non-determinism on macOS (Andrew Chow)
831c317 macOS deploy: use the new plistlib API (Jonas Schnelli)
5857aaf doc: Document ALLOW_HOST_PACKAGES dependency option (skmcontrib)
2329e08 build: Fix behavior when ALLOW_HOST_PACKAGES unset (Hennadii Stepanov)
1768870 depends: native_ds_store 1.3.0 (fanquake)
3f9f3e5 depends: pull upstream libdmg-hfsplus changes (fanquake)
f7606dc depends: latest config.guess & config.sub (fanquake)
cc3ae74 depends: bump native_cctools for fixed lto with external clang (Cory Fields)
b26c648 depends: enable lto support for Apple's ld64 (Cory Fields)
50933d7 depends: Add documentation for FORCE_USE_SYSTEM_CLANG make flag (Carl Dong)
ba3ddf2 depends: Reformat make options as definition list (Carl Dong)
3b855a7 depends: Add justifications for macOS clang flags (Carl Dong)
4104de0 depends: specify libc++ header location for darwin (Cory Fields)
cd4335f depends: force a new host id string if FORCE_USE_SYSTEM_CLANG is in use (Cory Fields)
d30e1af depends: Allow building with system clang (Carl Dong)
234828b depends: Decouple toolchain + binutils (Carl Dong)
1dd3a5a doc: explain why passing -mlinker-version is required (fanquake)
5cc0d0f darwin: pass mlinker-version so that clang enables new features (Cory Fields)
813a552 macos: Bump to xcode 11.3.1 and 10.15 SDK (Cory Fields)
ee7085f depends: bump MacOS toolchain (Cory Fields)
e5b092b contrib: macdeploy: Remove historical extraction notes (Carl Dong)
5893caf contrib: macdeploy: Use apple-sdk-tools instead of xar+pbzx (Carl Dong)
9f2d4ba native_cctools: Don't use libc++ from pinned clang (Carl Dong)
0c8d217 Adapt rest of tooling to new SDK naming scheme (Carl Dong)
bdacfa8 contrib: macdeploy: Correctly generate macOS SDK (Carl Dong)
f7eee2c Fix naming of macOS SDK and clarify version (Andrew Chow)
62f9e23 build: use macOS 10.14 SDK (fanquake)
bc2e1af depends: native_cctools 921, ld64 409.12, libtapi 1000.10.8 (fanquake)
a296d87 depends: clang 6.0.1 (fanquake)
8f6c475 build: Set minimum supported macOS to 10.12 (Fuzzbawls)

Pull request description:

  This backports the following upstream PRs to update the macOS cross-compiling tools:

  bitcoin#17550
  bitcoin#16392
  bitcoin#18589
  bitcoin#19240
  bitcoin#19407
  bitcoin#17919
  bitcoin#19530
  bitcoin#17057
  bitcoin#20333
  bitcoin#18051
  bitcoin#19124
  bitcoin#20298
  bitcoin#20447

  The tools being updated are

  ### Clang
  Upgraded from `3.7.1` to `8.0.0`

  ### cctools

  * cctools `877.8` -> `949.0.1`
  * LD64 `253.9` -> `530`
  * TAPI `1000.10.8`

  ### DSStore
  Upgraded from `1.1.2` to `1.3.0` (this removes the biplist dependency)

  This also effectively bumps our minimum supported macOS version to 10.12 (Sierra).

ACKs for top commit:
  furszy:
    tested ACK e1b89ac
  random-zebra:
    utACK e1b89ac

Tree-SHA512: f5cec8db57e07d8855070646b9e1400d48aac1d01e3c2c3b3e134665c6372d6535f3328888bb9a75087f7b3d5231ecb4b509723bfa51bd40770ffe2810c67f65
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Feb 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants