===== Download ===== * GIT repo: anon@git.iim.cz:yuri-light, branch: 2.8.x (Access granted upon sending public ssh key) * Snapshot: [[https://ran.iim.cz/yuri-light-v2.8.0_alpha-513-gd24300f.tar.bz2]] === 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 -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 with path to the unpacked sources. cmake 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. - Make sure you have working installation of visual studio - Unpack boost sources - run cmd.exe and navigate to the directory with unpacked sources - 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: 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 -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 |