User Tools

Site Tools


doc:appunti:linux:video:olive_editor_compile_debian_bookworm

How to compile Olive Video Editor in Debian 12 Bookworm

You can download Olive Video Editor form the 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 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 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: OpenTimelineIO. You can install it using Pip, but beware that Debian 12 embraced the 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: 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 Debian package page for olive-editor.

doc/appunti/linux/video/olive_editor_compile_debian_bookworm.txt · Last modified: 2023/11/06 18:54 by niccolo