JUCE Apple M1 Pro build issues in different DAWs

Hi all ,
I am trying to build a plugin and target my new Macbook pro 14 inch Apple M1 Pro chip Monterey OS 12.0.1
Plenty of problems. I built the latest projucer using the develop branch and built it in xcode. That took 5 mins . Not problem there.

Cubase 11 pro thinks the plugin is 32 bit.
Reaper gives me an apple message that an older version is malware.
The plugin shows up in Mainstage.

It is not signed. Perhaps that will help ?

The plugin worked OK on an older macbook pro built with an older version of JUCE and I had little trouble getting it going on lots of different users machines and DAWS this year and last year built on the old JUCE and macbook.

What should I do ? I feel like Apple is trying to get me to pay them $100 but perhaps even that wont help here …

Any advice ? Perhaps I should be bugging Cubase too ?
I like Cubase and VST3s that’s kind of my jam …

Uploading: Screen Shot 2021-12-05 at 4.42.51 PM.png…

Uploading: Screen Shot 2021-12-07 at 8.01.20 PM.png…

Die you build it on the M1 and tried to load in on an Intel mac? Maybe you built it for ARM only and not as universal binary for ARM and x86_64? I‘m didn‘t use Projucer & Xcode for some longer time now so I can‘t say where you find that setting in those tools, but I’m sure you‘ll find some architecture settings there

Thanks PluginPenguin,
I built it on an M1 and then tried to use it on an M1 ( the same M1 ).
I could only open the plugin in mainstage as an AU.
No luck with a VST3 anywhere.
I took a look for processor architecture settings in Projucer and couldnt see them.
I understand Apple M1 is running x86 emulated under Rosetta.

I believe if the host is running under Rosetta, the plugins must also be the intel variant. I could be wrong, but it might be worth checking.

As far as I know Apple has it’s own internal bridge for loading x86_64 AUs so that explains why you get no issues there.

Do you have an arm64 host? I test with the arm64 build of Reaper which picks upmy arm64 plugins without any problems. Note that when you hit debug on an M1 it will only launch the arm64 build. If you want to build the x64 version you need to select ‘any mac’ and select build only. That will create a universal binary that you should be able to use in x64 hosts. But you can’t debug the x64 version in XCode. (See reply from @yfede below)

Also, are you signing the binaries? As far as I can tell this is now required. I just do an adhoc sign after export. I usually have to run the following before Live will open any of my plugins:

codesign -s - NAME_OF_PLUGIN_BINARY--timestamp --deep --force

You can obtain a debuggable Universal Binary if you select “NO” for the build setting “Build active architecture only” (ONLY_ACTIVE_ARCH)

Yes, that was my point, you can debug the arm64 build, but not an x86_64 one.

Thanks for replying, but I’m not sure I follow your reasoning.
I have REAPER x64 on my M1 machine.
I have configured REAPER x64 in my Xcode scheme as the executable to run for my VST3 target.
Then I choose “My Mac (Rosetta)” next to the selected scheme.
At that point, I launch a debugging session, which runs REAPER x64 as expected.
If I load my VST3, the breakpoints I have set up in my code are hit normally, and I’m able to debug code as expeced. Is this different from what you’re seeing?

1 Like

Thanks for posting back @yfede I read somewhere that this wasn’t possible, so I didn’t even try it! Great to know that this can be done :+1:

Thanks for the kind replies . So everything is running on a virtual cpu ? Why own it then ?? Sorry wrong forum .