====== How to compile Olive Video Editor in Debian 12 Bookworm ====== You can download Olive Video Editor form the [[https://www.olivevideoeditor.org/download|download page]], the Linux version is distribute as an AppImage package, which should run on many GNU/Linux distributions without requiring to install dependencies, etc. This is partially true: I managed to start the program on my Debian 12 Bookworm computer, but **the program freezes too frequently**! I have the autosave function enabled, so I loose only one minute of work in case of crash/freeze, but restarting the work **three or four times per hour** is rather frustrating. It turned out that **compiling the progrm from the sources** (the same GitHub commit) solved the problem. So this is how I compiled **Olive Video Editor version 0.2**, GitHub commit **[[https://github.com/olive-editor/olive/commit/55eedbfce909dfd7df97611a2eea1d1958385f9c|55eedbf]]**. ===== Preparing the Debian 12 Bookworm ===== I performed a clean **Debian 12 Bookworm** installation, deciding to not install any desktop environment. From the tasksel menu I checked only the **SSH server** and the **standard system utilities**. Actually I used a virtual machine with **3 Gb of RAM** and **16 Gb of disk space**. There are detailed instructions on how to **[[https://www.olivevideoeditor.org/compile#ubuntu|compile Olive on Ubuntu 22.04]]**; for Debian 12 just some minor changes are required. First of all install the build tools and the libraries headers: #!/bin/sh -e echo "Installing build tools..." apt install \ build-essential \ git \ cmake echo "Installing Qt libraries..." apt install \ qtbase5-dev \ qttools5-dev \ qttools5-dev-tools \ qtbase5-private-dev \ libqt5x11extras5-dev echo "Installing a/v libraries..." apt install \ libavformat-dev \ libavcodec-dev \ libavfilter-dev \ libavutil-dev \ libswscale-dev \ libswresample-dev \ libopenimageio-dev \ libopenexr-dev \ portaudio19-dev \ libopencolorio-dev ===== Download the source code ===== As the root user I created a directory to download the source code; I gave the permissions to execute the build process as a regular (non root) user: mkdir -p /usr/local/src/olive-editor chown niccolo:niccolo /usr/local/src/olive-editor As a regular user you can download the source code from the GitHub repository. I decided to download the exact commit of the last available nightly build: cd /usr/local/src/olive-editor git clone --recursive https://github.com/olive-editor/olive cd olive/ git checkout 55eedbfce909dfd7df97611a2eea1d1958385f9c The source configuration and compile is executed using the **cmake** procedures: cd /usr/local/src/olive-editor/olive mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo cmake --build . ===== Configuration warnings ===== During the cmake configuration I got the following warning that I decided to ignore: -- The following OPTIONAL packages have not been found: * OpenTimelineIO * GoogleCrashpad The **OpenTimelineIO** is a Python package that you can find here: **[[https://github.com/AcademySoftwareFoundation/OpenTimelineIO|OpenTimelineIO]]**. You can install it using Pip, but beware that Debian 12 embraced the [[https://peps.python.org/pep-0668/|PEP 668]], so installing a Python module system-wide or in user space is a bit complicate. The **crashpad** is a C++ program available here: **[[https://chromium.googlesource.com/crashpad/crashpad/|crashpad]]**. ===== Copying the binary file to another PC ===== At the end of the compile process you will find the binary file **olive-editor** into the directory **/usr/local/src/olive-editor/olive/app/**. You can just copy that file into another workstation where you have your preferred desktop environment. I copied the file as **/usr/local/bin/olive-editor**. You may have to install the dependencies manually: apt install \ libopencolorio2.1 \ libopenimageio2.4 \ libavfilter8 Check if all the dependecies are satisfied by executing: ldd /usr/local/bin/olive-editor Almost certainly more dependencies exists, check the official [[https://packages.debian.org/bookworm/olive-editor|Debian package page for olive-editor]].