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, meson, ninja (optional, install if you want Roc to download and build dependencies automatically)
Runtime dependencies¶
- libuv >= 1.5.0, recommended >= 1.35.0
- libatomic_ops >= 7.6.0 (needed only on non-C11 compilers)
- libunwind >= 1.2.1 (optional, install if you want backtraces on a panic or a crash)
- hedley >= 15 (single-header library, vendored in our repo)
- OpenFEC >= 1.4.2 (optional but recommended, install if you want FEC support)
- OpenSSL >= 1.1.1, recommended >= 3 (optional but recommended, install if you want DTLS and SRTP support)
- SpeexDSP >= 1.2beta3 (optional but recommended, install if you want to employ fast Speex resampler)
- 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. It contains several bug-fixes (including leaks and segfaults) and improvements that are not available in the upstream.
Note
SpeexDSP (libspeexdsp) below 1.2rc3 was part of Speex (libspeex) package.
Development dependencies¶
- CppUTest >= 4.0 (optional, install if you want to build tests)
- Google Benchmark >= 1.5.5 (optional, install if you want to build benchmarks)
- clang-format >= 10 (optional, install if you want to format code)
- 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
Different versions of clang-format may format the code differently, thus we restrict the range of allowed versions. If you use another version, CI checks may fail.