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.