View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

Compiling SuperCollider 3 on a Linux system (now with Portaudio)

Home   How To   Code Pool   Public Library   Theory   Events
current README for Linux (information below may be outdated)

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 SuperCollider3

Verify that your C Compiler is gcc 3 or newer:
gcc -v
g++ -v
will print the version numbers.

Change to the SuperCollider3 directory and execute

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:

scons install

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:

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

LINKFLAGS = ['-Wl,-rpath,/home/yourname/sc3/lib'],
LIBPATH = ['/home/yourname/sc3/lib'],
LIBS = ['portaudio'],

:#include <sys/time.h>

scons ALSA=1 ALTIVEC=0 AUDIOAPI=portaudio CCFLAGS=-I/home/yourname/sc3/include CXXFLAGS=-I/home/yourname/sc3/include LID=1 RENDEZVOUS=1 SCEL=0 SSE=1 X11=1 PREFIX=/home/yourname/sc3 install


Links to this Page