Table of Contents

Downloading and compiling yuri v2.8.x

Prerequisites

Compiler

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.8 YES
GCC 4.7 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)

libraries

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.

(optional) Ultragrid dependencies

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

Installing in Gentoo:

    emerge speex libv4l libsdl

Download

(optional) Ultragrid Support

    cd ${BASE}
    git clone http://seth.ics.muni.cz/git/ultragrid.git/ -b trunk
    cd ultragrid
    wget http://projects.iim.cz/_media/yuri:uv_yuri_2.8.patch -O - | patch -p1

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

    ./autogen.sh --disable-libavcodec

Calling autogen.sh 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:

    make

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> ./autogen.sh –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 anon@git.iim.cz:yuri-light -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:

    cmake .. -DCMAKE_BUILD_TYPE=Release -DYURI_DISABLE_ULTRAGRID=OFF

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

And simply build the library:

    make