JUCE 6 + AUResources.r

I know this is a bit of a recurring topic on the forums that seems to be resolved in short order, but I can’t seem to figure this one out. I just installed JUCE 6 (via CMake). Everything looks to be in its right place. I can build VST3 and AAX variants without problems. However, I’m now getting for AU:

[ 70%] Generating QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret/QUARK.rsrc
cd /Users/bbuddin/Code/quark/build/QUARK && /Applications/Xcode.app/Contents/Developer/usr/bin/Rez -d "ppc_\$ppc" -d "i386_\$i386" -d "ppc64_\$ppc64" -d "x86_64_\$x86_64" -I /Users/bbuddin/Code/quark/build/QUARK/QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I /Applications/Xcode/app/Contents/Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase -I /Applications/Xcode/app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AudioUnit.framework/Headers -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /usr/local/include/JUCE-6.0.0/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r -o /Users/bbuddin/Code/quark/build/QUARK/QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret/QUARK.rsrc
failed to find AUResources/AUResources.r
/usr/local/include/JUCE-6.0.0/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r:50: ### Rez - noErr (0) during open of "AUResources.r".
Fatal Error!
/usr/local/include/JUCE-6.0.0/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r:50: ### Rez - Fatal Error, can't recover.
AUResources.r: ### Rez - Since errors occurred, /Users/bbuddin/Code/quark/build/QUARK/QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret/QUARK.rsrc's resource fork was not completely updated.

I see that the CoreAudio classes mentioned in other threads are provided at /usr/local/include/JUCE-6.0.0/modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses.

I just moved over from FRUT, and wasn’t having this particular issue. I’ve probably left something out in transition, but I’m not quite sure what. Anyone have any advice in troubleshooting this?

I’m running:

  • macOS 10.15.6
  • Xcode 11.6
  • CMake 3.17.3

Looks like the paths were incorrect for 6.0.0 and got corrected in 6.0.1. All good now :slight_smile:

I’m getting this same error on JUCE 6.0.5

[ 55%] Building CXX object CMakeFiles/AudioPluginExample_VST3.dir/usr/local/include/JUCE-6.0.5/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp.o
failed to find AUResources/AUResources.r
/usr/local/include/JUCE-6.0.5/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r:50: ### Rez - noErr (0) during open of "AUResources.r".
Fatal Error!
/usr/local/include/JUCE-6.0.5/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r:50: ### Rez - Fatal Error, can't recover.
AUResources.r: ### Rez - Since errors occurred, /Users/darren/dev/plugins/PadModulator/cmake-build-release/AudioPluginExample_artefacts/JuceLibraryCode/AudioPluginExample_AU/secret/Pad Modulator.rsrc's resource fork was not completely updated.
make[3]: *** [AudioPluginExample_artefacts/JuceLibraryCode/AudioPluginExample_AU/secret/Pad Modulator.rsrc] Error 3

Using MacOS 10.15.7, CLion, and CMake.

But is AUResources.r still needed after all?

From what I’m reading here (copied below) it seems that if AUResources.r is only needed for the old, Carbon-based AudioUnit APIs, it can be discontinued altogether given that the “new” Audio Component API is available since 10.6 and can then assumed to be always supported, since JUCE plug-ins require a macOS version newer than that anyway.

For the arm64 architecture, always use the Audio Component API to load Audio Units, codecs, and other code modules into your app. The Audio Component API is the modern way to search for loadable code modules, and it’s available in macOS 10.6 and later. Apps that target the arm64 architecture or link against the macOS 11 SDK cannot use the legacy Carbon Component Manager API to open Audio Units. If your app uses the Carbon Component Manager, plan to migrate off of it when porting your app.
If you develop Audio Units or codecs, update your code to support the Audio Component or Audio Unit Extension APIs if you haven’t already done so. When you link an Audio Unit or codec against the macOS 11 (or later) SDK, use one of these modern APIs instead of the Carbon Component API.

Note:
To preserve compatibility, apps that link against the macOS 10.15 (or earlier) SDK may continue to use the Carbon Component Manager to load Audio Units and codecs. Similarly, Audio Units and codecs built using the macOS 10.15 (or earlier) SDK may continue to include separate resources and entry points to support older APIs.

I’m having the problem again when attempting to upgrade from v6.0.5 to v6.0.8 using CMake. This change appears to be the culprit:

I know its been mentioned several times on the forums that these files were included in JUCE directly, but I can’t for the life of me get it to actually use them. Up until this point, I’ve been relying on the $XCODE/Extras/CoreAudio/AudioUnits installation path.

Anyone else noticed this?

I’m back here again. Still experiencing the same issue with 6.1.0. I feel like Sideshow Bob right now. I’ve stepped on this rake for about 2 years haha. Am I doing something wrong here? Not sure how to get myself out of it this time.

[ 67%] Generating QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret/QUARK.rsrc
failed to find AUResources/AUResources.r
/usr/local/include/JUCE-6.1.0/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r:50: ### Rez - noErr (0) during open of "AUResources.r".
Fatal Error!
/usr/local/include/JUCE-6.1.0/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r:50: ### Rez - Fatal Error, can't recover.
AUResources.r: ### Rez - Since errors occurred, /Users/bbuddin/Code/quark/build/darwin/QUARK/QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret/QUARK.rsrc's resource fork was not completely updated.
gmake[3]: *** [QUARK/CMakeFiles/QUARK_AU.dir/build.make:78: QUARK/QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret/QUARK.rsrc] Error 3
gmake[3]: *** Deleting file 'QUARK/QUARK_artefacts/JuceLibraryCode/QUARK_AU/secret/QUARK.rsrc'
gmake[2]: *** [CMakeFiles/Makefile2:179: QUARK/CMakeFiles/QUARK_AU.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:187: QUARK/CMakeFiles/QUARK_AU.dir/rule] Error 2
gmake: *** [Makefile:151: QUARK_AU] Error 2
script/darwin/build QUARK_AU  72.44s user 5.51s system 98% cpu 1:19.02 total