[SOLVED] Compatibility with macOS 10.7

Hello there!

OS Deployment Target set to 10.7.
I use C++14.
OSX Architecture: 64 bit.
Base SDK: 10.11
I’ve also -Ofast instead of the default O3 optimisation.

Still, some 10.7 and 10.8 users are reporting that the plug-in is not appearing in their DAWs.
I’ve made sure that they use a 64 bit DAW, but still the plug-in is not there.

Is there some compatibility check list for supporting 10.7?

Have you created an OSX 10.7 Parallels VM for testing? Does it work for you in the VM?

Rail

If your using C++14 library features (not just syntax), I don’t think that would work on those OS’s due to their age. A dynamic library is shipped with the OS.

it’s hard to go below 10.9 nowadays if you want to support notarisation.

No, I’m just relying on customer feedback on this one.

I’m using the DSP module that requires C++14. I’ve talked with other developers who are not having issues targeting 10.7 and they also use C++14.

Should I keep a separate non-notarised installer for targeting 10.7?

Notarization has a requirement on the SDK, which is 10.9 minimum. It doesn’t impose requirements on the deployment target.

2 Likes

Does this affect one particular DAW / plug-in format, or are all of them randomly affected?

I’ve received reports from Logic and Pro Tools users saying that “it’s not a valid 64 bit AAX”.

This issue affects not only 10.7, it can go up to 10.10. I believe is some mis-configuration on my end, but I don’t know where to look right now.

I thought that this would be a more extended issue among the developer community, but I see that it’s actually weird.

Could it be that there are two different problems, one affecting AU and the other AAX?
for the AU part, check this just in case: Plug-in built with Xcode 11 fails to load on Yosemite (10.10)

TL;DR: the order in which AudioUnit.framework and AudioToolbox.framework are linked matters, they must be linked in that order, at the end of the mentioned topic it’s explained how to make sure they are

1 Like

I see in that thread that t0m says that it’s a specific issue with SDK 10.15, but I’m using 10.11 (I’m using that one because I saw in another thread that in order to support 10.7 you have to use that SDK).
But anyway, I just checked and AudioUnit.framework is linked before AudioToolbox.framework.
Screenshot 2020-04-20 at 13.19.31

Do you have access to a 10.7 machine? In my opinion the best next step would be to get the system logs from console.app during the attempted load. That might tell you what C++14 function is failing to load or just give you more information about the issue in general. You could also try loading your plugin in a debug build of the juce plugin host and see how things fail.

It’s not that the plug-in crashes, it’s that the plug-in is not recognized by the DAW.

Yes, but if a binary fails to load (which is very likely the cause why it is not recognized) you end up with a few messages in the system log inside console.app.

These are the AU validation results on 10.7:

--------------------------------------------------
VALIDATING AUDIO UNIT: 'aufx' - 'CtTe' - 'WsFy'
--------------------------------------------------
2020-04-21 10:59:43.286 auvaltool[403:1307] CFBundle 0x7f9323c0d000 
</Library/Audio/Plug-Ins/Components/Cassette.component> (bundle, not loaded): bundle is not loadable: The bundle “Cassette” couldn’t be loaded because it is damaged or missing necessary resources.
Manufacturer String: Wavesfactory
AudioUnit Name: Cassette
Component Version: 1.0.3 (0x10003)
Component's Bundle Version: 1.0.4

* * PASS
--------------------------------------------------
TESTING OPEN TIMES:
COLD:
2020-04-21 10:59:43.433 auvaltool[403:1307] Error loading /Library/Audio/Plug-Ins/Components/Cassette.component/Contents/MacOS/Cassette:  dlopen(/Library/Audio/Plug-Ins/Components/Cassette.component/Contents/MacOS/Cassette, 262): Library not loaded: /System/Library/Frameworks/AVKit.framework/Versions/A/AVKit
Referenced from: /Library/Audio/Plug-Ins/Components/Cassette.component/Contents/MacOS/Cassette
Reason: image not found
FATAL ERROR: OpenAComponent: result: -50,0xFFFFFFCE


validation result: couldn't be opened

updating properties of AU Cassette by Wavesfactory...FAILED!

https://developer.apple.com/documentation/avkit
macOS 10.9+

Yes, solved!
I had to remove the video module. Now it loads in 10.7.

Thank you all!

1 Like