Downloading and compiling yuri v2.8.x



Yuri 2.8 should work with any compiler with decent C++11 support. It is known to successfully compile with gcc 4.7 and newer, clang 3.2 and newer. It won't build with MSVC as it's C++11 support is still pretty bad.

Tested compilers
Compiler Support
GCC 4.9 (svn) YES
GCC 4.6 NO (Missing support for UDL)
GCC 4.5 NO (Missing support for UDL)
clang 3.4 (svn) from version v2.8.0_alpha-332-g6c16d4c
clang 3.3 YES
clang 3.2 YES
MSVC 2012 NO (Missing large parts of C++11 support)


Core of yuri 2.8 and several modules should compile without any external library, but there's lot of modules depending on some external library.

  • boost 1.49 or newer. If preset, it will be used in core and few modules. (Mostly for filesystem traversal and regexes)
  • libsdl. Required for module sdl_window.
  • libav* (ffmpeg suite). Required for rawavfile.
  • alsa (asound library). Required for midi_device and alsa_output.
  • jpeg 8 (libjpeg or libjpeg-turbo). Required for jpeg module.
  • libpng 1.5. Required for png module.
  • X11 libraries. Required for screen capture.
  • OpenCV 2.3. Required for opencv module (conversions and facedetection)

(optional) Ultragrid dependencies

For successfull build of ultragrid modules, you may need following packages: speex, libv4l, libsdl

Installing in Gentoo:

    emerge speex libv4l libsdl


(optional) Ultragrid Support

    cd ${BASE}
    git clone -b trunk
    cd ultragrid
    wget -O - | patch -p1

This downloads current sources from ultragrid repository (the development branch) and applies yuri patch.

    ./ --disable-libavcodec

Calling configures ultragrid. You should verify that it succeeded before continuing. The –disable-libavcodec disables the libavcodec support in ultragrid, but it will still work as yuri module.

And finally, build ultragrid:


If the compilation fails because of undefined unknown symbols like: AV_PIX_FMT_YUV444P, then disable libavcodec support (it probably means that you have unsupported libavcodec version) and try again: <code bash> ./ –disable-libavcodec make </code>

There's no need for ultragrid binary in yuri, but the compilation process creates some include files, which are needed for the compilation in yuri.

Download and compile yuri

    cd ${BASE}
    git clone -b 2.8.x yuri-light-2.8
    cd yuri-light-2.8
    mkdir build
    cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release

For ultragrid support, please call:


And you should see line “Building ULTRAGRID helper library!” in the output.

And simply build the library:

yuri/compile_2.8.txt · Last modified: 2014/09/23 11:50 by neneko
Except where otherwise noted, content on this wiki is licensed under the following license: GNU Free Documentation License 1.3
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki