Cabbage Logo
Back to Cabbage Site

SOLVED - Problems compiling Cabbage (alt: Cabbage deb for Kxstudio/Debian?)

Cabbage is amazing! Just starting to learn csound and I have Cabbage running on my Mac… Amazing. Love it. Thanks for your hard work!

TL;DR: Anybody have a deb of Cabbage that I can just grab and install? Not able to compile on my system.

Trying to get Cabbage running on my linux machine but I’m having issues. I:

when I go to cabbage/Builds/LinuxMakefile and run ./buildCabbage I get a bunch of errors, including some that repeat, like:

../../Source/Application/../Audio/Graph/../Plugins/CsoundPluginProcessor.h:24:22: fatal error: csound.hpp: No such file or directory

This makes me wonder if csound itself is not installed on my system. But it is: which csound spits out

/usr/bin/csound

and running csound --version gives me

Csound version 6.04 (double samples) 2016-02-21.

I suppose that’s pretty old, but that’s what was in the repos.

I found a deb file elsewhere on the forum (1,1.0-1)
http://forum.cabbageaudio.com/t/installing-cabbage-on-debian-linux-jessie-resolved/214/22

direct link:
https://drive.google.com/file/d/0B3HppEiCAar1UFdER0ZvaEtmN1E/view?usp=sharing

… and it installs fine. But when I try to run it via command line, I get this:
Illegal instruction (core dumped)

Totally stuck.

Any ideas? Need more info?

Hello, isn’t there a csound-devel package ?
Rory will correct me but I think you need to install libcsnd-dev

Generally, under debian you need to install the devel package in order to compile a dependency.

Ahhh! I know my way around linux but am still pretty new at compiling stuff… Thanks for that tip!

I installed libcsnd-dev (1:6.05~dfsg1-7build1) but am still getting the

../../Source/testCsoundFile.cpp:2:22: fatal error: csound.hpp: No such file or directory

error.

Did you install all the dependencies lists in the readme for building on Linux?

Ah I knew I forgot something…

Everything but libjack-dev, is installed, and when I try to install it with apt-get I get this:

The following packages have unmet dependencies: libjack-dev : Depends: libjack0 (= 1:0.124.1+20140122git5013bed0-3build2) but it is not going to be installed

And when I go to install libjack0 it looks like a bunch of stuff I use will be uninstalled:

The following additional packages will be installed:
  jackd1 jackd1-firewire
Suggested packages:
  jack-tools meterbridge
Recommended packages:
  qjackctl
The following packages will be REMOVED:
  bitwig-studio cadence carla-bridge-win32 carla-bridge-wine32:i386 claudia jack-keyboard jack-rack jack-tools
  jackd jackd2 jackd2-firewire jamin kxstudio-meta-audio kxstudio-meta-audio-plugins ladish
  libasound2-plugins:i386 libjack-jackd2-0 libjack-jackd2-0:i386 meterbridge qjackctl qjackrcd rakarrack
  slv2-jack zynjacku
The following NEW packages will be installed:
  jackd1 jackd1-firewire libjack0

This freaks me out! I’m terrified of removing all that stuff from my system. Is there any way to use jack2 instead of jack0? I might be way over my head here, please forgive me if I’m asking a silly question

Try building it again before doing that. Technically speaking Jack is only needed if you wish to use Jack. Although you probably will, lets see if you can get it building first without it.

I think if you system already has jack2 installed, then the corresponding dev package is

libjack-jackd2-dev

Yup, still getting the error:

Compiling CabbageToolbarFactory.cpp
In file included from ../../Source/Application/../Audio/Graph/../Plugins/CsoundPluginEditor.h:24:0,
                 from ../../Source/Application/../Audio/Graph/AudioGraph.h:24,
                 from ../../Source/Application/CabbageMainComponent.h:30,
                 from ../../Source/Application/CabbageToolbarFactory.cpp:21:
../../Source/Application/../Audio/Graph/../Plugins/CsoundPluginProcessor.h:24:22: fatal error: csound.hpp: No such file or directory
 #include <csound.hpp>

Maybe I’m being silly here - maybe my csound isn’t installed in the “default location.” The build script says:

This scripts assumes that Csound is installed in the default location, i.e, includes files
should be located in /user/local/include/csound while the Csound library itself should be
located in /user/local/lib It is also assumed that the VST SDK is located in ~/SDKs/

On my system there is no /user/local directory, but there is a /usr/local/include directory, although it doesn’t contain anything mentioning csound. Running ls /usr/local/lib doesn’t show me anything about csound either.

All that said, I’m able to run the Windows version of Cabbage just fine through wine, and I’m able to use the plugin dlls I export using the airwave VST bridge. It’s not ideal, but I feel like compiling this is way outside my wheelhouse.

thanks for your help, and for creating such an amazing piece of software![quote=“Karamel1, post:7, topic:684, full:true”]
I think if you system already has jack2 installed, then the corresponding dev package is

libjack-jackd2-dev
[/quote]

When I try to install libjack-jackd2-dev I get what I think is dependency hell:

The following packages have unmet dependencies:
 libjack-jackd2-dev : Depends: libjack-jackd2-0 (= 1.9.10+20150825git1ed50c92~dfsg-1ubuntu1) but 2:1.9.11+git20170722-1~trusty2 is to be installed
E: Unable to correct problems, you have held broken packages.

The best thing would be to build and install Csound first. It’s quite easy on any Debian based systems. You can follow the steps here:


When Csound builds, and it should build without an issue, try building Cabbage again. Compiling Cabbage certainly isn’t outside your wheelhouse, especially on Linux!

Thanks for your help! I super appreciate it! I’ve been playing with Cabbage on Mac and am astounded and amazed by the possibilities. You really are doing some fantastic stuff for humanity by putting this out there!!

The very first step in compiling csound, I’m met with dependency issues…

sudo apt-get build-dep csound

The following packages have unmet dependencies:
 builddeps:csound : Depends: libjack-dev
                    Depends: portaudio19-dev but it is not going to be installed
                    Depends: libstk0-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

I try to install libjack-dev and I get the same error I was getting before:

 libjack-dev : Depends: libjack0 (= 1:0.124.1+20140122git5013bed0-3build2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Looks like the buildDeps script is out of date. Let’s see if @gsenna can help. He’s our resident Linux expert :wink:

I freaking love the open source community. <3 <3 <3

Hi @cbfishes,

What’s the output for dpkg -l libjack*?

EDIT: If I’m the expert what shall we call it when someone legit appears in the forum? :confused:

Hey @gsenna!

Here’s what I get:

$ dpkg -l libjack*

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-=========================================================
un  libjack-0.116              <none>             <none>             (no description available)
ii  libjack-jackd2-0:amd64     2:1.9.11+git201707 amd64              JACK Audio Connection Kit (libraries)
ii  libjack-jackd2-0:i386      2:1.9.11+git201707 i386               JACK Audio Connection Kit (libraries)
un  libjack-jackd2-0v5         <none>             <none>             (no description available)
un  libjack0                   <none>             <none>             (no description available)

Yes, it seems that you have some problems with your repositories. You could probably get away by installing the dev packages from launchpad directly:

https://launchpad.net/~kxstudio-debian/+archive/ubuntu/ubuntus/+files/libjack-jackd2-dev_1.9.11+git20170722-1~trusty2_amd64.deb
https://launchpad.net/~kxstudio-debian/+archive/ubuntu/ubuntus/+files/libjack-jackd2-dev_1.9.11+git20170722-1~trusty2_i386.deb

Ah! Ok I’ll give that a shot.

I’m not a super linux pro, so I think I have done some weird stuff. Maybe it’s related to using the kxstudio repos but then upgrading to 16.04 (there is no 16.04 kxstudio)…

At any rate, I’ll try that, thanks for your help!

HOORAY! @gsenna @rorywalsh that worked, csound is installed!

$ ~/csound/cs6make$ csound --version
virtual_keyboard real time MIDI plugin for Csound
WARNING: STK opcodes not available: define environment variable RAWWAVE_PATH
(points to rawwaves directory) to use STK opcodes.
0dBFS level = 32768.0
--Csound version 6.09.1 (double samples) Aug 30 2017
[commit: abe55f77fb373e48a3a20cd386a1be5851069d1e]
libsndfile-1.0.25
end of score.		   overall amps:      0.0
	   overall samples out of range:        0
0 errors in performance
Elapsed time at end of performance: real: 0.001s, CPU: 0.000s

Now to try compiling cabbage…

Success! Cabbage is running! Thanks everybody for your help.

A bit of strangeness when playing too many notes (I think I need to tweak some settings for my system) and some errors when attempting to export a VST, but… Cabbage is running!

Great! If you can’t export VSTs it could be because there were errors related to that part in the building process and you might be missing a couple of .so files (unless that has changed in cabbage2?)

Aha, I think that might be the case… (I can open a new thread if needed). Here’s the very end of the output when compiling cabbage:

Compiling include_juce_opengl.cpp
Compiling include_juce_video.cpp
Linking Cabbage - App
Cleaning CabbagePluginEffect
make: *** No rule to make target '../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp', needed by 'build/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.o'.  Stop.
make: *** Waiting for unfinished jobs....
cp: cannot stat './build/CabbagePluginEffect.so': No such file or directory
Cleaning CabbagePluginSynth
make: *** No rule to make target '../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp', needed by 'build/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.o'.  Stop.
make: *** Waiting for unfinished jobs....
cp: cannot stat './build/CabbagePluginSynth.so': No such file or directory
/tmp/ccQ6ELzH.o: In function `Csound::CompileCsdText(char const*)':
testCsoundFile.cpp:(.text._ZN6Csound14CompileCsdTextEPKc[_ZN6Csound14CompileCsdTextEPKc]+0x23): undefined reference to `csoundCompileCsdText'

Is the fix as simple as getting those files from somewhere and putting them in the right places?