Sonoma?

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.

1 Like

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.

1 Like

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.

2 Likes

Not seeing the uncaught exceptions now on the latest Sonoma and Xcode betas!

2 Likes

Awesome, I’ll move over soon, excited about the new linker.

2 Likes

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 !

1 Like

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 ?

1 Like

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

1 Like

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;
2 Likes

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.

4 Likes

I do not envy your job at the moment ! :wink:
Keeping up with Apple is a challenge.
Thank you so much for your dedication.

3 Likes

Apple:

The behavior and resulting limitations you describe are by design.

:rofl:

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…)

1 Like