Building SuperCollider for JackTrip Servers

This page is just intended to document the steps taken to build SuperCollider (SC) for JackTrip studio servers.

Since we are using a custom build of jack2 (multi-processing jack) that includes patches for scalability, we build SC from source code to ensure it matches up.

Install dependencies (Debian/Ubuntu):

apt-get install -y libsndfile1-dev libfftw3-dev libxt-dev libavahi-client-dev
apt-get install -y cmake libasound2-dev libicu-dev libreadline6-dev libudev-dev pkg-config libncurses5-dev

Clone, build, install SuperCollider:

git clone --recursive https://github.com/supercollider/supercollider.git
cd supercollider
git checkout Version-3.11.1
NO_X11=ON
NO_AVAHI=ON
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DSC_QT=OFF -DSC_EL=no ..
make -j4
sudo make install

Clone, build, install sc3-plugins:

git clone --recursive https://github.com/supercollider/sc3-plugins.git
cd sc3-plugins
git checkout Version-3.11.0
mkdir build && cd build
cmake -DSC_PATH=/home/users/mdickey/code/supercollider -DCMAKE_BUILD_TYPE=Release -DSUPERNOVA=ON -DLADSPA=OFF ..
cmake --build . --config Release
rm ./source/LadspaUGen.so
sudo cmake --build . --config Release --target install

Create a tarball to unpack into VM images:

tar cvfz supercollider-3.11.1.tar.gz /usr/local/include/SuperCollider /usr/local/share/SuperCollider /usr/local/lib/SuperCollider /usr/local/bin/scsynth /usr/local/bin/supernova /usr/local/bin/sclang /usr/local/share/pixmaps/sc_ide.svg /usr/local/share/pixmaps/supercollider.* /usr/local/share/mime/packages/supercollider.xml /usr/local/share/gtksourceview-3.0/language-specs/supercollider.lang /usr/local/lib/gedit/plugins/supercollider.plugin /usr/local/lib/gedit/plugins/supercollider.py /usr/local/share/SuperCollider/Extensions/scide_scvim/SCVim.sc