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.