Cabbage Logo
Back to Cabbage Site

Building on Linux (resolved)

Hello there,

Not neccessarily a “slug”, but I cannot find the README that outlines the build of Cabbage on Linux. Do you have such a recipe? After listening to Dave Phillips’ “Cabbagenic” track on Soundcloud, I would very much like to try out this code, but on Linux.

Thank you in advance!

Regards,
Jan Henkins

Hello again,

I am going to answer my own question! :smile:

The issue was that the tarball and zip file that you can download from the Cabbage Audio does not contain the mentioned README file with Linux build instructions. In order to get this file, one has to go to the Github code repository and get it here:

https://github.com/rorywalsh/cabbage/blob/master/Builds/Linux/README.txt

It would be good if this can be mentioned on the web page, or include the Builds folder in the Zip/Tarball.

Now for the next adventure - build the source! :smile:

Regards,
Jan Henkins

Annd I am going to chastise myself for talking complete rubbish about the README file not being in the tarball. It’s right there, clear as day… :blush:

Regards,
Jan Henkins

Actually I just updated today. So it should provide clearer instructions than before. Let me know if you have any issues.

Hey Jan, let me know if you need a hand. I managed to build Cabbage a couple of days ago in Ubuntu Studio 14.04.3. Although, the new Readme in the develop branch is pretty clear I think.

Cheers.

Hello,

I was trying to build version 0.5.14 from the official tarball, but for some reason that does not want to build on my Ubuntu Studio 14.04. I cloned from Github, but that seems to have the same issues. I will soldier on over the weekend to see if I can generate something useful (either a usable build, or failing that, clear error messages).

A quick question - is it possible to build against the latest Steinberg VST libs? I cannot find a usable download of the older version anywhere trustworthy.

Regards.
Jan Henkins

The readme in the dev branch is more up to date. Should give you more info on including the latest vst SDK. Checkout the dev branch and post the output from the build script if you keep having issues.

Maybe it’s because of Csound. The packaged version in Ubuntu is 6.02. I’ve built 6.06 successfully and then Cabbage compiled fine. As Rory said -> https://github.com/rorywalsh/cabbage/blob/develop/Builds/Linux/README.txt

As far as I understand, VST 2.x relevant files ares included in the VST 3 download.
I think they are here -> VST3 SDK/public.sdk/source/vst2.x/. So download VST 3 from Steinberg and then pass the VST3 SDK folder as an argument to buildCabbage (as described in the Readme).

Let us know how it goes.

I’ve updated the README once more so that it states users must have Csound 6.03 or higher.

Hey, could you also double quote $1, $2 and $3 in the buildCabbage script? Otherwise with spaces in the args. bash thinks there are more than 3 of them.
Thanks.

I’ve added them and pushed to git. Let me know if they work Ok!

All good now! Thanks Rory.

Hello Rory,

Sorry for the long silence - I kinda put things on hold for a while (life…). I also decided that trying to keep things going on my old Ubuntu Studio 14.04 is just not viable, it was too broken due to some over-enthusiastic PPA installations… :stuck_out_tongue:

Anyhow, I re-installed with Ubuntu Studio 15.10, which comes with csound 6.05. The previous build issues have now disappeared, and I can get a rudimentary build going. However, I have noticed two things:

The “getDeps.sh” script tries to install “libjack-dev”, which tries to install the old version of Jack (seems that it is not available anymore, current version is libjack-jackd2-dev).

The other thing is that at the end of the build (which seemed to have created a usable “Cabbage” executable nonetheless), I get the following errors (I include the previous couple of lines for context):

[…]
Compiling juce_PluginUtilities.cpp
Compiling juce_VST3_Wrapper.cpp
Compiling juce_VST_Wrapper.cpp
…/…/JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:272:29: warning: multi-character character constant [-Wmultichar]
setUniqueID ((int) (JucePlugin_VSTUniqueID));
^
Linking CabbagePluginEffect
cp: cannot stat ‘./build/CabbageStudio’: No such file or directory
cp: cannot stat ‘…/…/Images/Cabbage.png’: No such file or directory

I don’t see a “CabbageStudio” (was it supposed to be built?), there is only a “Cabbage”. Similarly there is no “Cabbage.png” file in “…/…/Images”, but there is a “cabbage.png”.

Apart from the above two things, it would appear I have something that can make weird and wonderful sounds. I will try to give it a more in-depth test during the weekend.

Regards,
Jan Henkins

Can you pull from the latest dev branch and try building again? I just updated the buildCabbage script so that you get a nice icon to go with Cabbage :wink:

CabbageStudio should build. Can you try running the following command from the Builds/Linux directory:

make -f MakefileHost -j4

That should build it Ok. If it builds there then it should also build when called by the buildCabbage script.

Hello Rory,

It did not build initially, but I saw that the makefile needed a bit of a tweak due to the location of the csound headers and libs as installed on stock Studio 15.10. Here is a quick diff:

--- MakefileHost.orig	2015-11-25 20:27:55.920512812 +0000
+++ MakefileHost	2015-11-25 20:28:11.398661513 +0000
@@ -5,10 +5,10 @@
 DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
 
 # Default csound include path
-CSOUND_INCLUDE ?= "/usr/local/include/csound"
+CSOUND_INCLUDE ?= "/usr/include/csound"
 
 # Default Csound library path
-CSOUND_LIBRARY ?= "/usr/local/lib"
+CSOUND_LIBRARY ?= "/usr/lib"
 
 ifndef CONFIG
   CONFIG=Debug

Interesting, that! :smile:

While this is not a long-term solution for building reliably on at least Ubuntu Wily, it gives me something to play with for now. I will study the build system a bit further when there is more time.

Regards,
Jan Henkins

Thanks for this. I’ve just pushed updated makefiles and build script to git. Whatever you pass as paths to the buildCabbage script should now be picked up by the Cabbage Studio makefile. Your diff is fine as long as Csound is installed in that location. I think it’s best to allow the end user to specify where it is installed. Can you let me know if it works? Thanks.

Hi… do you also help noobs in ubuntu? I managed to find the ‘Readme.txt’ for building Cabbage in ubuntu but dunno how to follow instructions in it :frowning:

Sure. How far have you got?

Hi Rory!


sudo apt-get -y install libfreetype6-dev
sudo apt-get -y install libx11-dev
sudo apt-get -y install libxinerama-dev
sudo apt-get -y install libxcursor-dev
sudo apt-get -y install mesa-common-dev
sudo apt-get -y install libasound2-dev
sudo apt-get -y install freeglut3-dev
sudo apt-get -y install libxcomposite-dev
sudo apt-get install csound
sudo apt-get install libcsound64-dev
sudo apt-get install libcsnd-dev
sudo apt-get install libsndfile1
sudo apt-get install libsndfile1-dev
sudo apt-get install libjack-dev

i read these were the necessary dependencies to be installed. I did, after which I was lost.

Have you cloned the git repository?