doc: Install Rosetta on M1-macOS for qt in depends#22402
Merged
Conversation
Member
Author
promag
reviewed
Jul 5, 2021
Member
|
branch can be deleted after close or merge |
Member
|
The branch https://github.com/bitcoin/bitcoin/tree/210705-rosetta can now be deleted |
sidhujag
pushed a commit
to syscoin/syscoin
that referenced
this pull request
Jul 10, 2021
cdb41d5 doc: Install Rosetta on M1-macOS for qt in depends (Hennadii Stepanov) Pull request description: On master (c609e10) `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 cdb41d5. fanquake: ACK cdb41d5 - 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 cdb41d5 Tree-SHA512: fb06a32d6fb40f405ce856b44f5d3af0c51089886f3be79e509e5c325614d7af58ce4480c064c17e0efb695a1f69f68d533c417f9631d46d8a630aba60ce4433
fanquake
added a commit
that referenced
this pull request
Nov 25, 2021
…en using qmake d020419 Revert "doc: Install Rosetta on M1-macOS for qt in depends" (Hennadii Stepanov) f6e2781 build, qt, macOS: Don't pass -device-option when building natively (Hennadii Stepanov) 667f068 build, qt, macOS: Don't hard-code x86_64 as the arch when using qmake (Hennadii Stepanov) Pull request description: On master (4018e23) the Qt build system hard-coded the x86_64 as the architecture when using qmake. This means that compiling the `qt` package on M1 Apple Silicon for the same system, i.e., without providing the `HOST` variable,—that is supposed to be compiled natively—is a cross-compiling actually: ``` % make -C depends qt_configured ... Configure summary: Building on: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1) Building for: macx-clang (arm64, CPU features: neon crc32) Target compiler: clang (Apple) 13.0.0 Configuration: cross_compile largefile neon precompile_header silent release c++11 c++14 c++1z reduce_exports static stl ... ``` Also this bug caused another [issue](#22402) which currently is worked around by installing Rosetta. With this PR it is no longer needed to have Rosetta installed on M1-based macOS, and: ``` % make -C depends qt_configured ... Configure summary: Build type: macx-clang (arm64, CPU features: neon crc32) Compiler: clang (Apple) 13.0.0 Configuration: largefile neon precompile_header silent release c++11 c++14 c++1z reduce_exports static stl ... ``` ACKs for top commit: promag: Tested ACK d020419 fanquake: ACK d020419 Tree-SHA512: 2fcd88d172286b7d22ec7ea7ce0939b012211c0160df56de2f4cb69e99743c71df6b6ff4777c1722ec22b974f48a77cc22e7c14d7d64d02c4f82ac22bafe4087
sidhujag
pushed a commit
to syscoin/syscoin
that referenced
this pull request
Nov 25, 2021
…arch when using qmake d020419 Revert "doc: Install Rosetta on M1-macOS for qt in depends" (Hennadii Stepanov) f6e2781 build, qt, macOS: Don't pass -device-option when building natively (Hennadii Stepanov) 667f068 build, qt, macOS: Don't hard-code x86_64 as the arch when using qmake (Hennadii Stepanov) Pull request description: On master (4018e23) the Qt build system hard-coded the x86_64 as the architecture when using qmake. This means that compiling the `qt` package on M1 Apple Silicon for the same system, i.e., without providing the `HOST` variable,—that is supposed to be compiled natively—is a cross-compiling actually: ``` % make -C depends qt_configured ... Configure summary: Building on: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1) Building for: macx-clang (arm64, CPU features: neon crc32) Target compiler: clang (Apple) 13.0.0 Configuration: cross_compile largefile neon precompile_header silent release c++11 c++14 c++1z reduce_exports static stl ... ``` Also this bug caused another [issue](bitcoin#22402) which currently is worked around by installing Rosetta. With this PR it is no longer needed to have Rosetta installed on M1-based macOS, and: ``` % make -C depends qt_configured ... Configure summary: Build type: macx-clang (arm64, CPU features: neon crc32) Compiler: clang (Apple) 13.0.0 Configuration: largefile neon precompile_header silent release c++11 c++14 c++1z reduce_exports static stl ... ``` ACKs for top commit: promag: Tested ACK d020419 fanquake: ACK d020419 Tree-SHA512: 2fcd88d172286b7d22ec7ea7ce0939b012211c0160df56de2f4cb69e99743c71df6b6ff4777c1722ec22b974f48a77cc22e7c14d7d64d02c4f82ac22bafe4087
gwillen
pushed a commit
to ElementsProject/elements
that referenced
this pull request
Jun 1, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On master (c609e10)
make -C depends qton Apple Silicon based macOS 11.4 ends with an error:Installing Rosetta 2 fixes it.
Explanation. On Apple Silicon macOS the
qtpackage in depends actually is cross compiled. All native tools (includingmoc) are x86_64 binaries, that require Rosetta 2 to run.