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) |
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.
For successfull build of ultragrid modules, you may need following packages: speex, libv4l, libsdl
Installing in Gentoo:
emerge speex libv4l libsdl
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.
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