-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added a github build for MacOs/arm64 https://github.com/GrandOrgue/grandorgue/discussions/1153 #1831
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will see feedback on this
The app crashes because of |
But how did GrandOrgue work on macos/x86_64 without code signing?
Which library is modified? Could you post here the full error message or a screenshot? |
Code signing is mandatory on Macs with Apple silicon.
Source: macOS Big Sur 11.0.1 Universal Apps Release Notes:
All libraries are modified. The creation and modification dates are the changed and when I verify the code signature I get:
But I found the difference (paths). The following commands must be executed to code sign everything. I found Using cmake to sign target but in which script do I add what?
Other questions: What does the workaround in build-scripts/for-osx/prepare-osx.sh do? Is it still necessary? Does this affect other projects on my Mac? In build-on-osx.sh: "-DCMAKE_OSX_DEPLOYMENT_TARGET=12.1" is this still necessary? Or was it added with the workaround for macOS 10.15? |
Support of Apple/arm64 appears to be a much more complex thing than I thought. I created a separate issue for signing #1835. |
I’m so excited to see Apple ARM support in the works! I have an Apple M3 Max processor, and would be more than happy to test new builds on that architecture. Also, I have an Apple Developer account, and am happy to use that to sign, if needed. I’m having trouble building GrandOrgue for ARM locally on my Mac (using CMake in Terminal). Does anyone have a script for this? I tried a number of tweaks, including adding |
https://github.com/GrandOrgue/grandorgue/blob/master/build-scripts/for-osx/prepare-osx.sh |
Thanks @oleg68! Those were the same scripts that I had tried before. I've managed to trace my compiler issues to the PortAudio library, and a bug introduced with commit 877 on February 23rd. See: PortAudio/portaudio@4600d81 After switching PortAudio to commit 878 (February 9, 2024), I was able to compile without issue. I'm not sure if the bug is caused by PortAudio, or how GrandOrgue handles PortAudio. But anyway... FYI! |
So far in my testing, all main functions appear to behave as normal on the ARM build. However, I did note a bug with the help window appearing to be empty (missing all contents of the manual). |
But GrandOrgue source code refers to the PortAudio 19.7.0 without this bug. Could you try compile with the stock version? |
Have you used the build scripts/cmake/make/cpack? If so, please give a recepy how have you signed the application together with using these automated tools there: #1835.
Seems you have missed install some necessary dependencies. Have you run prepare-osx.sh ? |
HomeBrew installs in /usr/local on Intel and in /opt/homebrew on ARM. In build-on-osx.sh:
This path is
How did you get the GrandOrgue source code? See #1158 |
HomeBrew installs in /usr/local on Intel and in /opt/homebrew on ARM. The workaround in prepare-osx.sh does:
I assume the workaround doesn't work at the moment but the app appears to work. |
What is the full path to GetPrerequisites.cmake? You have to add it to this script
It is important for building a .dmg bundle. Otherwise some libraries are not copied there. |
|
Then it should be replaced with
|
I assume it works, I now get:
The libs in both ARM apps were and are the same. The Intel app from GitHub has some extra libs, I don't know if it's a problem. Differences: Intel ARM |
GrandOrgue does not use them directly. May be they come by a transidive dependency. |
@oleg68 I've no access to a Mac to test anything, but if/when we have a working build for distribution here, I'll happily approve. I try to follow the discussion and feedback here. |
on macports the silicon version builds fine with deployment target 11.1 |
@MStraeten, fantastic! Seems to work with charm! Congrats! |
@MStraeten the code signing topic is here: #1835 |
Replaced with #1864 |
This PR adds building GrandOrgue for MacOs/arm64.
Unfortunally I cannot test it because I don't have an apple/M1 device. So if something doesn't work on M1/M2, it will be fixed in separate issues.