You will need to install some dependencies before you can build. Depending on your distribution you will be able to install the packages directly with the command lines below or will have to manually install: - Git - GCC - CMake - confirmed to work with 3.4.1. - Qt5 - http://download.qt.io/official_releases/qt/5.5/5.5.1/ - Boost - http://www.boost.org/users/history/version_1_55_0.html - SDL2
$ sudo apt-get install build-essential git cmake pkg-config libboost-all-dev qt5-default qtbase5-dev libqt5svg5-dev qtscript5-dev qttools5-dev-tools libqt5opengl5-dev qtmultimedia5-dev libsuperlu-dev liblz4-dev libusb-1.0-0-dev liblzo2-dev libpng-dev libjpeg-dev libglew-dev freeglut3-dev libsdl2-dev libfreetype6-dev
Notes: * It's possible we also need libgsl2 (or maybe libopenbias-dev)
TODO
$ rpm ...
(it may include some useless packages)
dnf install gcc gcc-c++ automake git cmake boost boost-devel SuperLU SuperLU-devel lz4-devel libusb-devel lzo-devel libjpeg-turbo-devel GLEW libGLEW freeglut-devel freeglut SDL2 SDL2-devel freetype-devel libpng-devel qt5-base qt5-qtbase-devel qt5-qtsvg qt5-qtsvg-devel qt5-qtscript qt5-qtscript-devel qt5-qttools qt5-qttools-devel blas blas-devel
$ sudo pacman -S base-devel git cmake boost boost-libs qt5-base qt5-svg qt5-script qt5-tools qt5-multimedia lz4 libusb lzo libjpeg-turbo glew freeglut sdl2 freetype2 $ sudo pacman -S blas cblas
From AUR, using eg. yaourt:
$ yaourt -S superlu
Notes: * ArchLinux had BLAS splitted in blas and cblas
zypper in boost-devel cmake freeglut-devel freetype2-devel gcc-c++ glew-devel libQt5OpenGL-devel libSDL2-devel libjpeg-devel liblz4-devel libpng16-compat-devel libqt5-linguist-devel libqt5-qtbase-devel libqt5-qtmultimedia-devel libqt5-qtscript-devel libqt5-qtsvg-devel libtiff-devel libusb-devel lzo-devel openblas-devel pkgconfig sed superlu-devel zlib-devel
$ git clone https://github.com/opentoonz/opentoonz
TODO: some parts should really be installed in $prefix/ instead... and some other in various cache or user-local places. cf. https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html Until then we just follow the Win32/OSX layout.
It is supposedly optional but some files are actually required to run the executable properly.
The .config/OpenToonz/ directory in your home folder will contain your settings, work and other files. We need to create it from the command-line:
$ mkdir -p $HOME/.config/OpenToonz $ cp -r opentoonz/stuff $HOME/.config/OpenToonz/
TODO: fix the code to discover it automatically
$ cat << EOF > $HOME/.config/OpenToonz/SystemVar.ini [General] OPENTOONZROOT="$HOME/.config/OpenToonz/stuff" OpenToonzPROFILES="$HOME/.config/OpenToonz/stuff/profiles" TOONZCACHEROOT="$HOME/.config/OpenToonz/stuff/cache" TOONZCONFIG="$HOME/.config/OpenToonz/stuff/config" TOONZFXPRESETS="$HOME/.config/OpenToonz/stuff/projects/fxs" TOONZLIBRARY="$HOME/.config/OpenToonz/stuff/projects/library" TOONZPROFILES="$HOME/.config/OpenToonz/stuff/profiles" TOONZPROJECTS="$HOME/.config/OpenToonz/stuff/projects" TOONZROOT="$HOME/.config/OpenToonz/stuff" TOONZSTUDIOPALETTE="$HOME/.config/OpenToonz/stuff/projects/studiopalette" EOF
Note the generated file must not actually contain "$HOME", this shell command repaces it with /home/youraccount in the generated file.
TODO: make sure we can use the system libtiff instead and remove this section. Features from the modified libtiff and needed currently, so this isn't a simple switch.
$ cd opentoonz/thirdparty/tiff-4.0.3 $ CFLAGS="-fPIC" ./configure && make $ cd -
$ cd ../../toonz $ mkdir build $ cd build $ cmake ../sources $ make
The build takes a lot of time, be patient.
If something doesn't compile or link, please run make
this way to help spot the problem:
LANG=C make VERBOSE=1
If you need to debug the application, you should be able to use cmake -DCMAKE_BUILD_TYPE=Debug
.
You can now run the application:
$ cd bin $ LD_LIBRARY_PATH=./lib/opentoonz:$LD_LIBRARY_PATH ./bin/OpenToonz_1.0
The steps above show how to run OpenToonz from the build directory, however you may wish to install OpenToonz onto your system.
OpenToonz will install to /opt/opentoonz
by default, to do this run:
$ sudo make install
Then you can launch OpenToonz by running /opt/opentoonz/bin/opentoonz
.
You can change the installation path by modifying the CMAKE_INSTALL_PREFIX
CMake variable.
It may be helpful to use existing packages as a reference when creating a package for your own distribution.
ArchLinux (AUR): https://aur.archlinux.org/packages/opentoonz-git/
App-Image (Portable): https://github.com/morevnaproject/morevna-builds