From 89928a3e3467773570a5eaa8626eae178baa247d Mon Sep 17 00:00:00 2001 From: fanquake Date: Wed, 7 Jul 2021 20:59:25 +0800 Subject: [PATCH] Merge bitcoin/bitcoin#22402: doc: Install Rosetta on M1-macOS for qt in depends cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f doc: Install Rosetta on M1-macOS for qt in depends (Hennadii Stepanov) Pull request description: On master (c609e10545492aba480ff17aff7eefc13a0b5cd8) `make -C depends qt` on Apple Silicon based macOS 11.4 ends with an error: ``` /bin/sh: /Users/hebasto/bitcoin/depends/work/build/aarch64-apple-darwin20.5.0/qt/5.12.11-6c4d47a8f8f/qtbase/bin/moc: Bad CPU type in executable ``` Installing Rosetta 2 fixes it. Explanation. On Apple Silicon macOS the `qt` package in depends actually is cross compiled. All native tools (including `moc`) are x86_64 binaries, that require Rosetta 2 to run. ACKs for top commit: promag: ACK cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f. fanquake: ACK cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f - I have not tested after installing Rosetta 2, but I saw the same issue during my first cross-compile on an M1 box. Zero-1729: ACK cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f Tree-SHA512: fb06a32d6fb40f405ce856b44f5d3af0c51089886f3be79e509e5c325614d7af58ce4480c064c17e0efb695a1f69f68d533c417f9631d46d8a630aba60ce4433 --- depends/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/depends/README.md b/depends/README.md index b5296e63a7..47da59fac5 100644 --- a/depends/README.md +++ b/depends/README.md @@ -84,6 +84,14 @@ For linux S390X cross compilation: sudo apt-get install g++-s390x-linux-gnu binutils-s390x-linux-gnu +### Install the required dependencies: M1-based macOS + +To be able to build the `qt` package, ensure that Rosetta 2 is installed: + +``` +softwareupdate --install-rosetta +``` + ### Dependency Options The following can be set when running make: `make FOO=bar`