-
Notifications
You must be signed in to change notification settings - Fork 225
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
Building for MacOS fails #1841
Comments
Running Otherwise I'm not sure how The bit where |
A totally fresh checkout unfortunately. |
Adding: |
Thanks for the report. Just a short note: The official Mac binaries are currently built with Xcode 11.7 (maybe with 12.1 soon) as those are the last versions which still ship SDK 10.15. The latter is the highest version which is supported by Qt5 right now. It would still be interesting to find the cause for this issue though. However, even if found and fixed, Qt5 may show problems with newer SDKs. Any specific reason for building yourself -- development? cc @dcorson-ticino-com who has recently worked on Qt6 compatibility and @softins who has most-recently handled the Xcode version pinnings.
Yeah, the log you posted does not seem to contain any defines in the |
Interesting, I'll try with latest QT and see if that works. - never mind, I'll not do that yet now I see that is a WiP. As for why, I'm hoping to dig into this: #1840 I want to make multi-track input more flexible. |
I made the necessary changes to get Jamulus to compile under Qt6.1.0 without errors locally. |
Thanks @dcorson-ticino-com - I'll pull your repo and work with that one then for now. are there plans for qt6 to get merged soon or later? |
I think it is better to drop Qt, especially for MacOS, and use native programming for MacOS. I watched a Apple seminar where they said not to use wrappers around their libraries (Qt yeah). I think that keeping up with MacOS using Qt will be bad for Jamulus as a whole. Better to drop Qt, or stay with Qt5, than move to Qt6. |
Programming just for a minority portion of the computer users out there, or maintaining multiple code bases, no thank you. |
@emlynmac For the moment the idea is to see if Qt6 solves the very opaque problems we are now seeing on Macs. If that is the case I'm sure transferring to Qt6 will go quickly. The problem is that Qt6 does not support much of the legacy Mac hardware we are used to supporting. If you get the Qt6 version running please let us know how it behaves, both from the UI problems we have seen and the degradation of audio quality over time some users are seeing. It is very strange that this is only manifesting itself on newer Mac units and not at all on the other platforms. |
Qt6 version compiled happily for me and seems to run. Need to move the build to my main music Mac next time we do band and see how it behaves. Update- I've got it looping back my local audio via the server and will let it run for the day while I work. So far it's going fine. |
I had a similar problem on my system when manually running the xcodebuild build command. So instead of running "xcodebuild build", I just run ./mac/deploy_mac.sh. (from the folder I downloaded the source code into) Guess somewhere in that script a variable is set correct which makes things work. |
The problem might be related to if Jamulus or its windows are open in the background. |
Closing since this issue is related to missing Qt6 support. |
Re-opening as I can reproduce it with Qt 6.3.1 on Xcode 13.3.1 |
Yes. Still an issue |
I think this might be related to #2806 Opus wants that USE_ALLOCA is set, but somehow this doesn't get passed through if I build with Xcode. |
Ok. Small update: It could be related to the compiler flag - it needs to be checked what clang needs for the optimizations. At least it builds now, if msvc and Mac-xcode use the simple case Lines 1132 to 1136 in e45ad67
(but crashes with an error that it doesn't find the cocoa plugin (https://forum.qt.io/topic/98816/qt-could-not-find-the-platform-plugin-cocoa)) |
@npostavs First of all thank you for your answer:
autoreconf doesn't even run on macOS - as autoconf doesn't seem to be installed by default. However, I don't think this is the issue.
gives
Which seems ok. As mentioned above, clicking "play" in Xcode gives
Even though USE_ALLOCA is set via Jamulus.pro and also appears in the xcodeproj bundle in
|
Okay, looking over this thread, it seems like the issue is that Just to confirm, in the Makefile generated on my Linux box I have
|
CFLAGS doesn't even seem to occur in the make files included in the Xcode file. However, in another file there's the following, which looks good.
|
Ok. Something unrelated (?) I succeeded to build the latest build by basically using a conditional "not macx" all your changes in Jamulus.pro and moving the PlugIns folder from an existing Qt6 build to the Jamulus.app/Contents folder - otherwise the app wouldn't start. I believe something bigger is wrong. This was to fix #1841 (comment) |
Maybe the files are included in a wrong order? |
I believe I have a working version now. Probably it's like Windows - but I'm not sure if the optimizations are still in. |
Found by testing and not verified to actually apply the optimizations Related to: #1841
Doesn't
mean "don't says |
I think we use ALLOCA while the default might not? |
Yes, it turns that libopus' ./configure on macx-xcode happens to make a different choice than we're currently using. However, the compile error is due the missing DEFINES/CFLAGS which prevents any choice from being made at all. |
I mean see my PR #3076 I think I've at least partly fixed it. The app now compiles. |
Found by testing and not verified to actually apply the optimizations Related to: #1841
Describe the bug
Following the instructions here: https://github.com/jamulussoftware/jamulus/blob/master/COMPILING.md#macos leads to an error at the
xcodebuild
phase:To Reproduce
Follow the instructions on Xcode 12.5 / macOS Big Sur 11.4
Expected behavior
Clean build, no errors
Operating system
macOS 11.4, Xcode 12.5, qt5 from home-brew
Version of Jamulus
master as of 9am PDT June 7 2021
Additional context
Looks like some OPUS compiler flags need to be defined somewhere
The text was updated successfully, but these errors were encountered: