Cabbage Logo
Back to Cabbage Site

Help needed to install Cabbage on Linux-Mint

Ok, it looks like you will have to build a newer version of Csound. Can you try following these instructions:

Let us know if you hit any problems.

No, there no Problems:

Just it gives:

oem@oem-HP-255-G5-Notebook-PC ~/csound/cs6make $ csound
time resolution is 1000.000 ns
0dBFS level = 32768.0
ā€“Csound version 6.12 beta (double samples) May 24 2018
[commit: 0e705f1b6c1936d0bf079c1af76737e0ee35eb96]
libsndfile-1.0.25
Usage: csound [-flags] orchfile scorefile
Legal flags are:
ā€“help print long usage options
ā€“version print version details
-U unam run utility program unam
-C use Cscore processing of scorefile
-j N use N threads in performance
-I I-time only orch run
-n no sound onto disk
-i fnam sound input filename
-o fnam sound output filename
-b N sample frames (or -kprds) per software sound I/O buffer
-B N samples per hardware sound I/O buffer
-A create an AIFF format output soundfile
-W create a WAV format output soundfile
-J create an IRCAM format output soundfile
-h no header on output soundfile
-c 8-bit signed_char sound samples
-8 8-bit unsigned_char sound samples
-u ulaw sound samples
-s short_int sound samples
-l long_int sound samples
-f float sound samples
-3 24bit sound samples
-r N orchestra srate override
-k N orchestra krate override
-K do not generate PEAK chunks
-v verbose orch translation
-m N tty message level. Sum of:
1=note amps, 2=out-of-range msg, 4=warnings
0/32/64/96=note amp format (raw,dB,colors)
128=print benchmark information
-d suppress all displays
-g suppress graphics, use ascii displays
-G suppress graphics, use Postscript displays
-x fnam extract from score.srt using extract file ā€˜fnamā€™
-t N use uninterpreted beats of the score, initially at tempo N
-t 0 use score.srt for sorted score rather than a temporary
-L dnam read Line-oriented realtime score events from device ā€˜dnamā€™
-M dnam read MIDI realtime events from device ā€˜dnamā€™
-F fnam read MIDIfile event stream from file ā€˜fnamā€™
-R continually rewrite header while writing soundfile (WAV/AIFF)
-H# print heartbeat style 1, 2 or 3 at each soundfile write
-N notify (ring the bell) when score or miditrack is done
-T terminate the performance when miditrack is done
-D defer GEN01 soundfile loads until performance time
-Q dnam select MIDI output device
-z list opcodes in this version
-Z dither output
ā€“sched set real-time priority and lock memory
(requires -d and real time audio (-iadc/-odac))
ā€“sched=N set specified scheduling priority, and lock memory
(requires -d and real time audio (-iadc/-odac))
flag defaults: csound -s -otest -b256 -B1024 -m135

Csound Command ERROR: insufficient arguments
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.001s

oem@oem-HP-255-G5-Notebook-PC ~/csound/cs6make $ ls /usr/local/lib
csound libcsnd6.so libcsnd6.so.6.0 libcsound64.so libcsound64.so.6.0 libluajit-5.1.a libluajit-5.1.so libluajit-5.1.so.2 libluajit-5.1.so.2.0.5 lua pkgconfig python2.7 python3.5 swipl-6.0.2

oem@oem-HP-255-G5-Notebook-PC ~/csound/cs6make $ ls /usr/local/include/csound/
cfgvar.h cscore.h csdl.h csound_data_structures.h csound.h csound_standard_types.h csound_type_system.h csPerfThread.hpp filebuilding.h interlocks.h msg_attr.h plugin.h pstream.h soundio.h text.h
CppSound.hpp csdebug.h csoundCore.h CsoundFile.hpp csound.hpp csound_threaded.hpp cs_par_structs.h cwindow.h float-version.h modload.h OpcodeBase.hpp pools.h pvfileio.h sysdep.h version.h

Ok. I think this Problem is solved:
Next Problem:

make: *** Keine Regel vorhanden, um das Ziel ā€žā€¦/ā€¦/Source/Widgets/CabbageNumberBox.cppā€œ,
benƶtigt von ā€žbuild/intermediate/Release/CabbageNumberBox_d8ec912a.oā€œ, zu erstellen. Schluss.
make: *** Auf noch nicht beendete Prozesse wird gewartet ā€¦
Compiling CabbageLabel.cpp
cp: Aufruf von stat fĆ¼r ā€˜./build/Cabbageā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
./buildCabbage: Zeile 36: ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fĆ¼r ā€˜Makefileā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
Cleaning CabbagePluginEffect
make: *** Keine Regel vorhanden, um das Ziel ā€žā€¦/ā€¦/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cppā€œ,
benƶtigt von ā€žbuild/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.oā€œ, zu erstellen. Schluss.
make: *** Auf noch nicht beendete Prozesse wird gewartet ā€¦
cp: Aufruf von stat fĆ¼r ā€˜./build/CabbagePlugin.soā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
./buildCabbage: Zeile 43: ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fĆ¼r ā€˜Makefileā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
Cleaning CabbagePluginSynth
make: *** Keine Regel vorhanden, um das Ziel ā€žā€¦/ā€¦/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cppā€œ,
benƶtigt von ā€žbuild/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.oā€œ, zu erstellen. Schluss.
make: *** Auf noch nicht beendete Prozesse wird gewartet ā€¦
cp: Aufruf von stat fĆ¼r ā€˜./build/CabbagePlugin.soā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
./buildCabbage: Zeile 50: ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fĆ¼r ā€˜Makefileā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
make: MakeCabbageLite: Datei oder Verzeichnis nicht gefunden
make: *** Keine Regel, um ā€žMakeCabbageLiteā€œ zu erstellen. Schluss.
make: MakeCabbageLite: Datei oder Verzeichnis nicht gefunden
make: *** Keine Regel, um ā€žMakeCabbageLiteā€œ zu erstellen. Schluss.
cp: Aufruf von stat fĆ¼r ā€˜./build/CabbageLiteā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
/tmp/ccMPEOQM.o: In Funktion Csound::CompileCsdText(char const*)': testCsoundFile.cpp:(.text._ZN6Csound14CompileCsdTextEPKc[_ZN6Csound14CompileCsdTextEPKc]+0x23): Nicht definierter Verweis aufcsoundCompileCsdTextā€™
/tmp/ccMPEOQM.o: In Funktion Csound::GetInputName()': testCsoundFile.cpp:(.text._ZN6Csound12GetInputNameEv[_ZN6Csound12GetInputNameEv]+0x18): Nicht definierter Verweis aufcsoundGetInputNameā€™
collect2: error: ld returned 1 exit status

Did you uninstall the previous Csound first? I think the build process is still finding the old Csound libraries.You should remove the old package. You need to run make install again after you do in case it also gets rid of some of the newer libraries.

Next, can you run

make clean

From the Cabbage build directory? Looks like some object files are still around from the last build. Secondly, the build script in Cabbage assumes that the JUCE folder is in the same folder as the Cabbage folder. It appears this is not the case here. You can simple move it to make sure it is, or you can modify the buildCabage script by changing the lines that contain:

ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer

You can replace this with the path to your Projucer. Note if you do this one, you will have to do it each time you update Cabbage.

Try this and let me know.

No, against the last error
And the last two Tips in Work

Wir sind fast fertig! Can you comment or remove the following lines from the buildCabbage script:

Ok, da haben wir ein grĆ¶ĆŸeres Problem meine Datei hat nur 68 Zeilen.

:joy: Lustig! Are you working with the the lastest version of Cabbage? Itā€™s best to clone it from the repo, or grab this zip file from the master branch.

Ok. I was downloading the Programm from the Cabbage Homepage.
So just it has 80 Zeilen.

Ok, the same Problem

Can you show the output from the build process?

This:

===========================================
======== Build Script for Cabbage =========

In order to build Cabbage you will need to have Csound installed, and
the Projucer from version 5.0 of JUCE built and installed.
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 assumes that the VST SDK is located in ~/SDKs/

mkdir: das Verzeichnis Ā»usr/share/doc/cabbageā€œ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
./buildCabbage: Zeile 18: [: ==: Einstelliger (unƤrer) Operator erwartet.
./buildCabbage: Zeile 38: ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fĆ¼r ā€˜Makefileā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
Cleaning Cabbage
Compiling FileTab.cpp
Compiling CabbageDocumentWindow.cpp
Compiling CabbageGraphComponent.cpp
Compiling CabbageMainComponent.cpp
Compiling CabbagePluginComponent.cpp
Compiling CabbageToolbarFactory.cpp
ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.cpp: In member function ā€˜juce::ToolbarButton* CabbageToolbarFactory::createToggleButtonFromPNG(int, const juce::String&, const void*, size_t, const void*, size_t)ā€™:
ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.cpp:150:50: warning: ā€˜void juce::Button::setToggleState(bool, bool)ā€™ is deprecated [-Wdeprecated-declarations]
togglePlayButton->setToggleState (true, false);
^
In file included from ā€¦/ā€¦/JuceLibraryCode/modules/juce_core/system/juce_StandardHeader.h:56:0,
from ā€¦/ā€¦/JuceLibraryCode/modules/juce_core/juce_core.h:178,
from ā€¦/ā€¦/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h:52,
from ā€¦/ā€¦/Source/Application/ā€¦/ā€¦/JuceLibraryCode/JuceHeader.h:17,
from ā€¦/ā€¦/Source/Application/ā€¦/CabbageIds.h:23,
from ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.h:20,
from ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.cpp:20:
ā€¦/ā€¦/JuceLibraryCode/modules/juce_gui_basics/buttons/juce_Button.h:356:27: note: declared here
JUCE_DEPRECATED (void setToggleState (bool, bool));
^
ā€¦/ā€¦/JuceLibraryCode/modules/juce_core/system/juce_PlatformDefs.h:266:57: note: in definition of macro ā€˜JUCE_DEPRECATEDā€™
#define JUCE_DEPRECATED(functionDef) functionDef attribute ((deprecated))
^
ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.cpp: In member function ā€˜juce::ToolbarButton* CabbageToolbarFactory::createButtonFromSVG(int, const juce::String&, juce::String, juce::String)ā€™:
ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.cpp:183:54: warning: ā€˜void juce::Button::setToggleState(bool, bool)ā€™ is deprecated [-Wdeprecated-declarations]
togglePlayButton->setToggleState (true, false);
^
In file included from ā€¦/ā€¦/JuceLibraryCode/modules/juce_core/system/juce_StandardHeader.h:56:0,
from ā€¦/ā€¦/JuceLibraryCode/modules/juce_core/juce_core.h:178,
from ā€¦/ā€¦/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h:52,
from ā€¦/ā€¦/Source/Application/ā€¦/ā€¦/JuceLibraryCode/JuceHeader.h:17,
from ā€¦/ā€¦/Source/Application/ā€¦/CabbageIds.h:23,
from ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.h:20,
from ā€¦/ā€¦/Source/Application/CabbageToolbarFactory.cpp:20:
ā€¦/ā€¦/JuceLibraryCode/modules/juce_gui_basics/buttons/juce_Button.h:356:27: note: declared here
JUCE_DEPRECATED (void setToggleState (bool, bool));
^
ā€¦/ā€¦/JuceLibraryCode/modules/juce_core/system/juce_PlatformDefs.h:266:57: note: in definition of macro ā€˜JUCE_DEPRECATEDā€™
#define JUCE_DEPRECATED(functionDef) functionDef attribute ((deprecated))
^
Compiling AudioGraph.cpp
Compiling CabbagePluginEditor.cpp
Compiling CabbagePluginProcessor.cpp
Compiling CsoundPluginEditor.cpp
Compiling CsoundPluginProcessor.cpp
Compiling GenericCabbageEditor.cpp
Compiling GenericCabbagePluginProcessor.cpp
Compiling CabbageBinaryData.cpp
Compiling CabbageCodeEditor.cpp
Compiling CabbageEditorContainer.cpp
Compiling CabbagePropertiesPanel.cpp
Compiling ComponentLayoutEditor.cpp
Compiling ComponentOverlay.cpp
Compiling CabbageGenericPluginLookAndFeel.cpp
Compiling CabbageIDELookAndFeel.cpp
Compiling CabbageLookAndFeel2.cpp
Compiling CabbageSettings.cpp
Compiling CabbageSettingsWindow.cpp
Compiling CabbageColourProperty.cpp
Compiling CabbageNewProjectWindow.cpp
Compiling CabbageSSHFileBrowser.cpp
Compiling Soundfiler.cpp
Compiling TableManager.cpp
Compiling CabbageButton.cpp
Compiling CabbageCheckbox.cpp
Compiling CabbageComboBox.cpp
Compiling CabbageCsoundConsole.cpp
Compiling CabbageCustomWidgets.cpp
Compiling CabbageEncoder.cpp
Compiling CabbageFileButton.cpp
Compiling CabbageGenTable.cpp
Compiling CabbageGroupBox.cpp
Compiling CabbageImage.cpp
Compiling CabbageInfoButton.cpp
Compiling CabbageKeyboard.cpp
make: *** Keine Regel vorhanden, um das Ziel ā€žā€¦/ā€¦/Source/Widgets/CabbageNumberBox.cppā€œ,
benƶtigt von ā€žbuild/intermediate/Release/CabbageNumberBox_d8ec912a.oā€œ, zu erstellen. Schluss.
make: *** Auf noch nicht beendete Prozesse wird gewartet ā€¦
Compiling CabbageLabel.cpp
cp: Aufruf von stat fĆ¼r ā€˜./build/Cabbageā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
./buildCabbage: Zeile 44: ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fĆ¼r ā€˜Makefileā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
Cleaning CabbagePluginEffect
make: *** Keine Regel vorhanden, um das Ziel ā€žā€¦/ā€¦/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cppā€œ,
benƶtigt von ā€žbuild/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.oā€œ, zu erstellen. Schluss.
make: *** Auf noch nicht beendete Prozesse wird gewartet ā€¦
cp: Aufruf von stat fĆ¼r ā€˜./build/CabbagePlugin.soā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
./buildCabbage: Zeile 51: ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fĆ¼r ā€˜Makefileā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
Cleaning CabbagePluginSynth
make: *** Keine Regel vorhanden, um das Ziel ā€žā€¦/ā€¦/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cppā€œ,
benƶtigt von ā€žbuild/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.oā€œ, zu erstellen. Schluss.
make: *** Auf noch nicht beendete Prozesse wird gewartet ā€¦
cp: Aufruf von stat fĆ¼r ā€˜./build/CabbagePlugin.soā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
./buildCabbage: Zeile 58: ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat fĆ¼r ā€˜Makefileā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
make: MakeCabbageLite: Datei oder Verzeichnis nicht gefunden
make: *** Keine Regel, um ā€žMakeCabbageLiteā€œ zu erstellen. Schluss.
make: MakeCabbageLite: Datei oder Verzeichnis nicht gefunden
make: *** Keine Regel, um ā€žMakeCabbageLiteā€œ zu erstellen. Schluss.
cp: Aufruf von stat fĆ¼r ā€˜./build/CabbageLiteā€™ nicht mƶglich: Datei oder Verzeichnis nicht gefunden
cp: regulƤre Datei ā€˜/usr/bin/opcodes.txtā€™ kann nicht angelegt werden: Keine Berechtigung
cp: regulƤre Datei ā€˜/usr/share/icons/hicolor/512x512/apps/cabbage.pngā€™ kann nicht angelegt werden: Keine Berechtigung
cp: regulƤre Datei ā€˜/usr/share/icons/hicolor/512x512/apps/cabbagelite.pngā€™ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis Ā»/usr/share/doc/cabbage/ā€œ kann nicht angelegt werden: Keine Berechtigung
cp: das Verzeichnis ā€˜/usr/share/doc/cabbage/Examplesā€™ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden

Donā€™t forget to change the lines about the Projucer. You need to change:

ā€¦/ā€¦/ā€¦/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer

to wherever you have the Projucer built.

Iā€™ll be away for the few hours, but Iā€™ll check in later to see if you managed to get it working. Bis spater.

Ok. I would make a break too.

Iā€™ll be around for the next hours if you want to have another go at this.

Ok, If you be ready for a new Odyssey to Install Cabbage

ich habe ein bessere idee :wink: ā€¦can you this this .deb package? Just run

sudo dpkg -i Cabbage.deb

Hopefully it will work and you wonā€™t need to build yourselfā€¦