Cabbage Logo
Back to Cabbage Site

Problem with building

Dear community,
in the meantime I’ve successfully installed JUCE, the newest version.
Unfotrunately I’ve got error messages when I tried building cabbage.
The most important Error message seems to be:

In file included from …/…/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp:27:0,
from …/…/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp:9:
…/…/JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:95:10: fatal error: pluginterfaces/vst2.x/aeffect.h: No such file or directory
#include “pluginterfaces/vst2.x/aeffect.h”
Does somebody know what this means and what should be done?

This means you need the VST2.4 headers in order to build the plugins. It’s no longer available for download, but you might be able to acquire a copy from somewhere. I need to update the project files. If you find a copy just put it into the VST folder under VST2.4. It should build Ok then.

Does somebody maybee have a link to the vst2.4. files?

Here they say, it should not be used anymore. It is already deleted from the GitHub-repository. However you can still download it from their site as they have not (yet) deleted it from there. Then, the files in VST2_SDK should be copied to the folder with the VST3 SDK. It should be possible to copy over those files to the location where you saved this repo under and get it to compile.

EDIT: Well, it should work,… but it is such a mess that I have tried almost any combination of paths already. So I guess I am also stuck here. I saw Rory did already say to put some work into the Linux build, so we have to wait a bit.

Also, the move from Steinberg to just delete it without any warning beforehand just sucks. They did even have things like two different versions of the same version number in the past.

In fairness to Steinberg, they did announce that they would do this. It just sucks that they went ahead and removed all links. I’ll boot into Linux shortly and see how I get on with this. I’ve not actually built on Linux since this happened…

I just built now on Linux, you just need to pass the path to the VST2 source in the Cabbage .jucer files. That did the trick here for me.

Hi Rory,

I understand what you’re saying, I think, but I can’t work out where the path needs to go in the .jucer files. I see sections for visual studio that reference something like c:\something\SDKs but i’m not sure where the relevant section is for Linux.

Any ideas?

It should be ~/SDKs on Linux :wink:

Can you show me what the directory structure should look like under ~/SDKs/. I see that the readmes all say this, but I still can’t:

  1. find a reference to this directory in the makefiles or .jucer files
  2. figure out what actually needs to be copied into this directory :slight_smile:

The projucer looks in this directory by defaults. All that needs to be copied into this folder is the VST SDK. Do you have the VST 2.4 SDK?

I have a version with a pluginterfaces/vst2.x/ directory that has the necessary .h files. Just not sure where to put it :slight_smile:.

When I unzip the copy of the SDK I have I get a 'VST3 SDK' folder with (what I think is) everything I need under it. Is this 'VST3 SDK' folder the one that belongs in ~/SDKs/?

Yes. And within that folder you should have a plugininterfaces folder with a vst.2 folder. Here’s how it looks on my mac:

I’ve replicated the directory structure you have there under my ~/SDKs/ directory on linux. Still having the same problem. I almost don’t believe it’s defaulting to ~/SDKs/ as I can’t seem to find that anywhere in the Makefiles or other supporting files.

Basically, the aeffect*.h files were missing under VST3_SDK/pluginterfaces/vst2.x/. I added them there, and I’m still getting file not found errors.

Just to be extra clear, the screenshot you’ve sent me is the directory structure under ~/SDKs/?

Here’s what I have

Your folder structure looks the same as mine. Did you modify anything in the Cabbage.jucer file? In the Linux Makefile Debug section do you have the following path:

“~/SDKs/VST_SDK/VST3_SDK”

Also, the Projucer has a global paths settings dialogue that you can use to specify explicit paths…

I didn’t modify any of the Cabbagejucer files, though I don’t see a Cabbage.jucer file, st a bunch of Cabbagejucer files in the cabbage root.

Here’s a quick grep of my LinuxMakefile directory: There’s no explicit references to that directory other than in the readme and one ‘echo’ string.

 ✘ nathan@AS-XPS-13-9360  ~/Repository/cabbage/cabbage-2.1/Builds/LinuxMakefile  grep SDKs *
buildCabbage:echo "It is also assumes that the VST SDK is located in ~/SDKs/"
grep: Cabbage: Is a directory
readme.md:In order to simplfy the build process, it's best that the JUCE folder resides in the same parent directory as the Cabbage folder. Make sure that the VST SDK resides in a folder called SDKs in your home directory, i.e, ~/SDKs, and Csound is installed in its default location. 

Is it possible the whole build is opinionated about being in ~/Repository/cabbage/...?

Maybe I will try the explicit path settings via projucer. I was just trying to follow everything step by step and there’s clearly a gap of some kind :confused:

Do you have JUCE in the same directory as your cabbage root directory?

[edit] sorry, it’s CabbageIDE.jucer…

No, I didn’t edit CabbageIDE.jucer.

Both JUCE/ and cabbage-2.1/ live in the same Repository/cabbage directory.

I can’t see why it’s not building out of the box then. Just to make sure, can you check the global paths in the Projucer and also the ones I mentioned previously? None of the other Linux users on the list are having issues with building afaik…