Optionally, consider including the lck (formerly ck1) patches to your kernel. This should be done before compiling alsa drivers. Also see SC3 Linux Exits for more information on low latency audio with Linux.
You need jack jack, libsndfile, fftw3f, a working alsa driver and scons.
For SCEL (the emacs editor for supercollider) you will need emacs-w3m for displaying the HTML help files.
If you installed jack and libsndfile from a package of your distribution, make sure that the development files are installed, too.
Checkout the SC3 sources from svn:
svn co https://supercollider.svn.sourceforge.net/svnroot/supercollider/trunk SuperCollider3
Verify that your C Compiler is gcc 3 or newer:
will print the version numbers.
Change to the SuperCollider3 directory and execute
scons scons install
By default the scsynth and sclang binaries SC3 libs will be installed in /usr/local.
There are some interesting and useful scons options available for linux. For example, if you are not interested in running supercollider with emacs you may pass the SCEL=no option to scons. Run scons -h for a full list of options (scons -H for general scons options).
The following causes SC3 to be installed in /usr instead of /usr/local, use X11 support, be built without scel (scel is only needed for use with emacs not when using ggap or scfront), have linux input device support enabled and assume the compilier uses the GNU linker [need an option to scons?? <sk>].
scons PREFIX=/usr X11=yes SCEL=no LID=yes
After you have run scons with your selected options you need to build and install SC3. Do this by executing:
in the SuperCollider3 source directory.
If you've passed PREFIX=/usr to scons, Supercollider3 binaries and libraries will be installed under /usr.
(Note: one advantage of installing in /usr rather than /usr/local is that the UGen plugins are pretty much guaranteed to be found by the system - on some systems you may need to use ldconfig to ensure libraries in /usr/local/lib are loaded.)
Here're the steps required to compile SC3 on Linux with Portaudio:
- Get latest portaudio v19 snapshot from http://www.portaudio.com;
- Compile portaudio with this options (don't forget to change the prefix):
scons enableShared=1 enableStatic=0 enableTests=0 useOSS=0 useJACK=0 useALSA=1 useASIHPI=0 enableDebug=0 enableOptimize=1 enableAsserts=0 prefix=/home/yourname/sc3 install
- Go to the Supercollider source directory and open the file SConstruct near line 350, which says "env.Append..." and add the following variables:
LINKFLAGS = ['-Wl,-rpath,/home/yourname/sc3/lib'], LIBPATH = ['/home/yourname/sc3/lib'], LIBS = ['portaudio'],
- Open source/server/SC_CoreAudio.cpp and add the following line to the end of "include" statements:
- In the same file, find the line that says
outSampleRate = 44100.;and change the samplerate to your card's native value (i. e. 48000.);
- Run scons with the following options (don't forget to change the prefix and CC/CXXFLAGS):