Dependencies¶
Build dependencies¶
GCC >= 4.1 or Clang >= 3.4
Python >= 2.6 or 3.x
SCons
Ragel
gengetopt (optional, install if you want to build tools)
pkg-config (optional, install if you want installed dependencies to be auto-detected)
config.guess script (optional, used to auto-detect the system type; may be provided by autotools, automake, or libtool package)
libtool, intltool, autoconf, automake, make, cmake (optional, install if you want Roc to download and build dependencies automatically)
Runtime dependencies¶
libuv >= 1.5.0
libunwind >= 1.2.1 (optional, install if you want backtraces on a panic or a crash)
OpenFEC >= 1.4.2 (optional but recommended, install if you want to enable FEC support)
SoX >= 14.4.0 (optional, install if you want SoX backend in tools)
PulseAudio >= 5.0 (optional, install if you want PulseAudio backend in tools or PulseAudio modules)
Warning
libuv versions before 1.5.0 may have problems on 64-bit ARMs.
Warning
If you want to install OpenFEC, it’s highly recommended to use our fork or manually apply patches from it. The fork is automatically used when using --build-3rdparty=openfec
option. The fork contains several bug fixes and improvements that are not available in the upstream.
Development dependencies¶
CppUTest >= 3.4 (optional, install if you want to build tests)
clang-format >= 3.8 (optional, install if you want to format code)
clang-tidy (optional, install if you want to run linter)
doxygen >= 1.6, graphviz (optional, install if you want to build doxygen or sphinx documentation)
sphinx, breathe (optional, install if you want to build sphinx documentation)
Warning
If you use CppUTest 3.4 or earlier, build it with --disable-memory-leak-detection
option. This leak detection breaks our code. Note that we support building with clang sanitizers which include LeakSanitizer.