JUCE is busted in Xcode 11.4

@SynthDan are you using JUCE internal VST3 or your using your own VST3 sdk?

Thanks… I had to do the same to fix this compile error with the develop tip.

This is on Mojave with Xcode 9.4.1

Rail

Same for me with same env as Rail_Jon_Rogut, on the juce6 branch

JUCE Folks, get this fixed, please. I understand you’re in flux, but…

Same errors as above, Xcode 11.5, dev branch tip of 5.4.7

EDIT: The juce::AudioBuffer fix works, but I’m getting the Point ambiguities.)

FURTHER EDIT: Never mind. Xcode was caching some paths. Once I blew out the build folder and re-rendered it from ProJucer, it built. Even so, we should strongly consider renaming Point, as this problem comes up like clockwork every 2 years or so. Maybe go with the English spelling, Piont or Pointe or something. That works for squircle.

AIMLESS PONDERING: Now that Raw Material is owned by an American company, can we expect all the passive-aggressive Anglicism to be eventually removed?

FURTHER EDIT: Desktop builds, iOS still has that motherfucking ambiguity. Seriously, 10 years of this.

1 Like

Figured out the issue. I have to include Foundation/NSFileManager and NSString (because, you know, the issue with Security Group file access hasn’t been addressed yet so I have to roll my own, per the famous thread on the topic). No NSFileManager, no Point ambiguities.

EDIT: And by ā€œfigured out the issue,ā€ I mean I know why the build errors are happening. None of the solves in the other six (!!!) threads about this problem are working. So when my fellow iOS devs arrive at this thread because they’re having this exact issue, the current answer is ā€œfuck if I know.ā€

1 Like

if this is related to the security group code you posted a while ago i did manage to work around it.

in Locations.h

#pragma once
#include <JuceHeader.h>

class Locations {
public:
  static File userPresetBase();
}

in Locations.mm

#include "Foundation/NSFileManager.h"
#include "Foundation/NSString.h"

// the above have to come before this
#include "Locations.h"

File Locations::userPresetBase() {
#if JUCE_IOS
  NSFileManager *fm = [NSFileManager defaultManager];
  NSURL *containerURL = [fm containerURLForSecurityApplicationGroupIdentifier:
                                @"group.name.here"];
  String tmp = ([containerURL.relativeString UTF8String]);
  File startDir(tmp.substring(6));
  return startDir;
#else
  ...
}
2 Likes

Why can’t the colonies accept that British English is the Best English? :joy:

3 Likes

Ironically, I had just decided to do this exact thing as the only possible workaround when this notification came through. This will definitely work; I can just tell by looking at it. Solid. Thanks!

At this juncture, I’m just thankful that Jules isn’t Scottish. Who the hell knows what ā€œColourā€ would have ended up as then? Back to our regularly scheduled program of replacing hundreds of ScopedPointers and Drawable calls.

It has nothing to do with accents! :slightly_smiling_face:

My point being that if he was Scottish, he’d be aggressive-aggressive about using rando nonsense words, rather than passive-aggressive.

So Scottish people are aggressive and ā€˜rando’ is a real word? Interesting.

1 Like

To save world peace it seems we need to switch to emoji programming:

3 Likes

My wife is Scottish, no comment. :slight_smile:

Somehow reading your link @richie, I cam across this hidden gem;

.frame {
  background-image: url("/queen.png") !important;
}

.hello {
	content: "subjects";
	color: gray;
}
2 Likes

I’m trying to investigate this and I can’t reproduce this issue. Are you using the JUCE built-in VST3 SDK? If not, which commit of the VST3 SDK are you using?

I’ve tried a bunch of different VST3 SDK versions with the current JUCE develop branch, and I’m unable to reproduce any ā€˜missing definition’ errors.

I have a feeling all 3 of us are using the non-JUCE-built-in version of the SDK to maintain VST2.4 support (correct me if I’m wrong, but the built-in version can’t actually provide VST2.4 support right?)

Is there still an active repo with the last version of the SDK which had 2.4 support somewhere? I’ve not kept track of which commit I am using, but since the SDK source remains unaltered, I’d be happy to try with a later version if one is actually still available.

That’s correct, you must supply your own copy of the VST2 SDK in order to build VST2 plugins. However, I don’t understand why this would affect VST3 builds. It’s possible to use the external VST2 SDK for VST2 plugins while also using the built-in VST3 SDK for VST3 plugins. Would you be able to check whether your build succeeds when using the built-in VST3 SDK?

Perhaps the VST2.4 compatibility mode is enabled? This gives VST3 builds a dependency on 2.4 SDK.

That’s true, but that mode will still work with the built-in VST3 SDK, or a completely separate one. To test, I just built the DSPModulePluginDemo VST3, using a custom VST3 SDK and a custom VST2 SDK, with JUCE_VST3_CAN_REPLACE_VST2=1 defined, under Xcode 11.4.1. I still couldn’t reproduce any build issues.

1 Like

I know this issue has been well covered but in case anyone is having trouble trying to get it work. I recently was running an earlier JUCE version with Xcode 11.4. It worked fine until yesterday, when for some reason opening a loose .cpp file prompted the ā€œXcode needs to download and install tools to open thisā€ dialogue. I did so. Later, I started getting the ā€œPoint is ambiguousā€ issue.

After reading this thread, I downgraded to Xcode 11.3 in the hopes it would fix this issue. The issue persisted. Remembering that the issue began after downloading those tools, I went into the Xcode package contents and deleted the ā€œtoolsā€ folder after confirming that it contained new content that had been downloaded right before the issue began. This is probably not a great solution my project now compiles.

I suspect I could run 11.4 again without issue, but I’m going to stick with 11.3 for now.

On Catalina 10.15.4.