Is is me ? Or is JUCE broken in Sonoma ?
I guess you mean compiling/developing on Sonoma.
At least our compiled binaries seems to be working on Sonoma. but Iāve read reports here about SDK breaking changes.
Thereās the deprecation warning as I mentioned here that prevents juceaide being built: Deprecation warnings on macOS 14.0. This can be bypassed by simply removing that chunk of code and returning {}
(assuming you donāt need to use that code for your app).
Iām also getting an error from WebKit while building juceaide which appears to be using a type that no longer exists:
/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h:117:47: error: type argument 'nw_proxy_config_t' (aka 'nw_proxy_config *') is neither an Objective-C object nor a block type
This can be bypassed by removing #import <WebKit/WebKit.h>
from juce_gui_basics.cpp
(again, assuming you donāt need to use WebKit for your app).
Even then, once I actually manage to build my app Iām getting uncaught exceptions (despite being thrown within a try-catch
block), which suggests breaking ABI changes.
// libc++abi: terminating due to uncaught exception of type juce::JSONParser::ErrorException
// Despite the call stack including:
try
{
result = JSONParser (text.getCharPointer()).parseObjectOrArray();
}
catch (const JSONParser::ErrorException& error)
{
return error.getResult();
}
Iāve yet to find a solution to this one.
Are you using the latest Sonoma/Xcode beta versions? With Sonoma beta 5 and Xcode beta 6 Iām not seeing this when building juceaide or the DemoRunner.
The JSON issue looks a bit familiar - I was seeing something like that with an older Xcode beta on Ventura, so i suspect there may have been a compiler bug. If youāre not using the latest beta, itās probably worth updating and checking whether the issue is still present.
Other than that, weāve got a couple of fixes for deprecated APIs in Sonoma that should be out in the next day or two.
Ahh, I was using homebrewed llvm, not Apple Clang. Switching to Apple clang does indeed fix that error!
Looks like I do have updates available since just a few days ago - will udpate and report back if anything changes.
Not seeing the uncaught exceptions now on the latest Sonoma and Xcode betas!
Thank you so much for the discussion !
My issue was with the actual recording of audio in my app, in runtime.
Canāt put my finger on the actual bug. Everything runs fine but no audio is being sent to file, nor to the continuous waveform displayā¦
However I was using Xcode beta 5 not 6.
Iām trying again for 2 projects today and will try to report some more specific information if I get any issues. Iām just glad someoneās on the bleeding edge like me !
Thank you again !
Hi again,
Well I tried again this morning with XCode 15 beta 6 and latest develop branch from JUCE.
Here are some strange messages iām getting when I run my GUI app:
The **CGSWindowShmemCreateWithPort failed on port 0**
**67,587 HALC_ProxyIOContext.cpp:1,329 HALC_ProxyIOContext::IOWorkLoop: skipping cycle due to overload**
**66,571 HALC_ProxyIOContext.cpp:1,329 HALC_ProxyIOContext::IOWorkLoop: skipping cycle due to overload**
**Metal failed to load render pipeline: pipeline=PBGRAXmw_BclrA3Xhfc sdk=23A312**
**Failed to find reflection in binary archives**
The problem is Iām getting the app running but no sound gets to the file input when I hit record.
My getNextAudioBlock function gets buffers, but when I unmute the track, I hear a kind of feedbackā¦
Any thoughts will be welcome.
Thanks,
Jacques
I tried the demorunner demos for fft and the scrolling waveform and everything works.
Iām baffled.
Well I apologize, because it appears my app works fine on Sonoma in XCode 15 beta 6 with JUCE 6.1.6
Will keep investigating, with the help of my lead programmerā¦
Hereās something with XCode 15 (Beta 6)
Getting a āCycle Insideā¦ ā in a brand new plugin created with JUCE 7.0.6
That is when I build for All. Standalone works.
Any thoughts ?
Hey Hi again
Just tried with Xcode 15 beta 7, develop branch of JUCE, and latest Sonoma Beta and still have this strange āCycle Insideā¦ā error message and wonāt build.
Do you suppose it could be a JUCE issue ?
Jacques
Just wanted to report all happy so far on Xcode 15 beta 7 and JUCE develop.
The only minor glitch was having to downgrade target_compile_features
from cxx_std_23
to cxx_std_20
otherwise I get an error in MacOSX14.sdkās version of algorithm.
In file included from JUCE/modules/juce_events/juce_events.mm:23:
In file included from JUCE/modules/juce_events/juce_events.cpp:42:
In file included from JUCE/modules/juce_events/juce_events.h:52:
In file included from JUCE/modules/juce_core/juce_core.h:204:
In file included from JUCE/modules/juce_core/system/juce_StandardHeader.h:50:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/algorithm:1747:
In file included from /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h:28:
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__memory/unique_ptr.h:63:19: error: invalid application of 'sizeof' to an incomplete type 'juce::JUCEApplicationBase::MultipleInstanceHandler'
static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type");
^~~~~~~~~~~
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__memory/unique_ptr.h:297:7: note: in instantiation of member function 'std::default_delete<juce::JUCEApplicationBase::MultipleInstanceHandler>::operator()' requested here
__ptr_.second()(__tmp);
^
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__memory/unique_ptr.h:263:75: note: in instantiation of member function 'std::unique_ptr<juce::JUCEApplicationBase::MultipleInstanceHandler>::reset' requested here
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); }
^
/Users/sudara/projects/sinemachine/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:33:22: note: in instantiation of member function 'std::unique_ptr<juce::JUCEApplicationBase::MultipleInstanceHandler>::~unique_ptr' requested here
JUCEApplicationBase::JUCEApplicationBase()
^
/Users/sudara/projects/sinemachine/JUCE/modules/juce_events/messages/juce_ApplicationBase.h:304:12: note: forward declaration of 'juce::JUCEApplicationBase::MultipleInstanceHandler'
struct MultipleInstanceHandler;
Iām facing the same issue trying to generate from an older project in the latest JUCE and Xcode15. However, I think that creating a new plugin project in the new JUCE produced a buildable plugin. I have not pinpointed the exact issue yet.
Unfortunately I did try to create a brand new plugin with JUCE 7.0.7 and I face the same issue.
Wether or not itās a JUCE issue I couldnāt say.
Oh and most web notes on the issue mention some things about the build phases order.
I suspect it may have something to do with the generation of the Xcode project in JUCE.
What a quaint problemā¦
Weāre looking at the āCycle Insideā problem at the moment. As youāve suggested weāre going to need to change how we generate Xcode projects and the current Apple docs are not up to speed with what the latest Xcode is doing.
I do not envy your job at the moment !
Keeping up with Apple is a challenge.
Thank you so much for your dedication.
Apple:
The behavior and resulting limitations you describe are by design.
Edit:
Joke aside, the interesting step in Xcode 15 is a concurrent linker which should speed things up. so maybe this is related (but I donāt dare to lookā¦)