Download

Git

  • To get ccurrent version from the git repository, first please get access to it by sending your public ssh key. Then you can get the sources by cloning the repository:
git clone anon@git.iim.cz:yuri-light -b 2.8.x

Compiling

Requirements

libyuri-light requires following libraries for successful build (you need -dev packages, if your distibution uses them)

  • boost - at least vesion 1.46

Some modules also depend on libraries, so it's good to have these as well (It will compile without them, but some modules may be missing).

  • X11 windowing server.
  • OpenGL support.
  • jpeg
  • libpng
  • curl
  • CUDA toolkit
  • libavformat, libavcodec, libavutil, libswscale - ffmpeg libraries
  • libiec61883, libavc1394 - accessing firewire devices
  • sagelib

Linux

Tools

libyuri-light uses cmake as it's build system. You should have these tools ready for compilation:

  • cmake at least 2.8
  • make - GNU make
  • compiler. Currently tested with gcc 4.6 and 4.7 and with clang 3.1 and 3.2

If your default compiler is gcc-4.7 (or newer), you won't be able to compile code for CUDA with default settings. You may get around it by forcing nvcc to use different version of gcc, by setting CUDA_NVCC_FLAGS to something like: –compiler-bindir /usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3

This can be done by passing this option to cmake:

  cmake <sources> -DCUDA_NVCC_FLAGS:STRING="--compiler-bindir /usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3"

For Gentoo linux, be sure you have these packages installed:

sys-devel/cmake sys-devel/make sys-devel/gcc dev-libs/boost 

For the optional libraries, install:

x11-libs/libX11 media-libs/libpng virtual/jpeg net-misc/curl dev-util/nvidia-cuda-sdk media-video/ffmpeg media-libs/libiec61883 sys-libs/libavc1394

On OpenSuse install following packages to get basic build:

gcc-c++ boost-devel cmake

For optional modules, install these packages (doesn't cover all dependencies)

libpng14-devel libcurl-devel Mesa-ligGL-devel libiec61883-devel libavc1394-devel libjpeg8-devel 

To get required packages on Ubuntu Linux (tested on Ubuntu 12.10, on other releases some packages may have different versions), type:

  sudo apt-get install cmake g++ libboost-all-dev

And to get optional packages:

  sudo apt-get install libjpeg-turbo8-dev libpng12-dev libcurl4-openssl-dev libiec61883-dev libavc1394-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
  # For CUDA support:
  sudo apt-get install nvidia-cuda-dev nvidia-cuda-toolkit

Note: libav* libraries (including libswscale) on Ubuntu are NOT libraries from ffmpeg project but from an unsupported fork. It will probably work, but you've been warned.

Unpack the sources and create directory build (It can be anywhere, usually it is created inside the source tree but it's not mandatory). Call cmake in the directory build. Replace <sources> with path to the unpacked sources.

  cmake <sources>

This should detect supported libraries and generate the Makefiles, if the minimal requirement were met. Now simply run:

  make

And if everything compiles ok, you will get the binaries in build/bin. You can verify which modules you have by running:

  ./bin/yuri2 -l -q

Instead of cmake, you can also use cmake-gui, which will provide you with a graphical interface to set options in a comfortable way.

Windows

The compilation and use under windows is not fully supported yet. However, you can get most of the basic modules working.

Currently not supported as Visual Studio doesn't support modern C++. If you have Visual Studio 2013 or newer, you can try to compile it at own risk.

Prerequirements

You will need:

  • Visual C++ (tested with version 2010)
  • Boost (either get precompiled binaries or compile from source)
  • cmake
Boost

If you want/have to compile it by yourself, it's actually quite simple.

  1. Make sure you have working installation of visual studio
  2. Unpack boost sources
  3. run cmd.exe and navigate to the directory with unpacked sources
  4. run these 2 commands and you're finished (assuming we're compiling for 64bit system)
  bootstrap
  .\b2 toolset=msvc address-model=64 --build-type=complete stage

Configuration

run cmake, set the directories for sources and for binaries. Press Configure and select IDE you're compiling in (tested with Visual Studio 10 Win64). It probably won't find boost libraries, so click on Add Entry button and add entry for variable BOOST_ROOT as follows:

Name: BOOST_ROOT
Type: PATH
VALUE: <path_to_boost_directory>

Click on configure again and it should work now. Click on generate and cmake will generate solution file for visual studio for you, in the directory specified for binaries. Then open the solution file in Visual studio a compile it.

Troubleshooting

If the compilation fails because of some helper library, you can disable by setting appropriate variable YURI_DISABLE_ to ON. You can specify it as a parameter for cmake in the form:

  cmake <source> -DYURI_DISABLE_CUDA:BOOL=ON

There are similar variables defined even for some modules. The list of supported YURI_DISABLE_* variables:

Helper/module variable default value
CUDA YURI_DISABLE_CUDA OFF
LIBAV YURI_DISABLE_LIBAV OFF
X11 YURI_DISABLE_X11 OFF
IEEE1394 YURI_DISABLE_IEEE1394 OFF
ASIO YURI_DISABLE_ASIO OFF
sage_output YURI_DISABLE_SAGE OFF
 
yuri/compiling.txt · Last modified: 2014/09/23 11:47 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