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)


libuv versions before 1.5.0 may have problems on 64-bit ARMs.


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.


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)


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.