Dependencies - sonic-pi-net/sonic-pi GitHub Wiki
Here you will find a list of some of the dependencies for Sonic Pi. This list may be slightly incorrect or incomplete, so please add to/change this if needed.
Sonic Pi v3.1.0
Sonic Pi Server
Runtime dependencies
- ruby - To run the Sonic Pi server code
- erlang-base - to run the Erlang parts
- supercollider & sc3-plugins (>= 3.9?)
- aubio
- osmid (to convert between OSC and MIDI; often built and packaged with Sonic Pi)
Build dependencies
- ruby
- ruby-dev - Header files for compiling extension modules for Ruby
- erlang-base
Sonic Pi Qt GUI
Runtime dependencies
These libraries are dynamically linked at runtime:
- qt5-default
- libqt5scintilla2 (libqt5scintilla2-12v5)
Build dependencies
- g++ - GNU C++ compiler
- make
- cmake
- libqwt-qt5-dev libqt5scintilla2-dev libqt5svg5-dev qt5-qmake qt5-default qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev qtmultimedia5-dev
- libffi-dev
Building dependencies
Some dependencies may need to be built and/or packaged with Sonic Pi. Here's the links to the build instructions for some of them:
- supercollider - https://github.com/supercollider/supercollider/blob/develop/README_LINUX.md (see the other readme files for other platforms)
- aubio - https://aubio.org/manual/latest/installing.html#building-aubio
- osmid - https://github.com/llloret/osmid/blob/master/INSTALL.md
Supercollider scsynth build dependencies (v3.9.1) for GNU/Linux
(please see https://github.com/supercollider/supercollider/blob/develop/README_LINUX.md and the other README files for other platforms)
Note: This is only the list of dependencies for building on GNU/Linux, and this list doesn't include dependencies for the IDE.
- gcc >= 4.8 - GNU C compiler
- cmake >= 3.5 - Cross platform build system (on some platforms, cmake >= 2.9 may require manual build)
- libjack (libjack-dev or libjack-jackd2-dev)
- libsndfile1-dev >= 1.0
- fttw >= 3.0 (libfftw3-dev)
- libxt-dev - X toolkit intrinsics, required for UGens such as MouseX. To build the servers without X, use the NO_X11=ON CMake flag.
- libavahi-client-dev - For zero-configuration networking. To build the servers without Avahi, use the NO_AVAHI=ON CMake flag.
- git - used by the Quarks package management system
- udev (libudev-dev) - Device manager library, required for HID support.
- ALSA (libasound2-dev) - Linux sound library, required for sclang MIDI support.
- libreadline >= 5 (libreadline6-dev) - Required for sclang's CLI interface.
- pkg-config
aubio build dependencies
(please see https://aubio.org/manual/latest/installing.html#building-aubio)
- python
- pkg-config
- libav
- libsndfile
- libsamplerate
- libfftw3
osmid build dependencies (according to install instructions as of commit e223598)
(please see https://github.com/llloret/osmid/blob/master/INSTALL.md)
- cmake >= 3.0
- gcc compiler >= 4.9 or Microsoft Visual C++ 2015 or clang
- ALSA development libraries (on Linux only)