Compile & Install Sigil 2.0.1 from Source in Ubuntu 22.04 | 23.10

This simple tutorial shows how to compile and install the Sigil EPUB ebook editor (2.0.1 so far) from the source code in Ubuntu step by step.

Sigil is a popular free and open-source ePub ebook editor that works in Windows, Linux, and macOS. However, it does not provide official packages for Linux.

While Sigil in Ubuntu system repository is always old, user can easily install the latest version via Flatpak package that runs in sandbox.

In case you neither prefer Flatpak package, nor even trust third-party software sources, it’s not hard to build it from the source tarball! And, here I’m going to show you how.

This tutorial is tested and works in Ubuntu 22.04, Ubuntu 23.04, Ubuntu 23.10 daily build with Sigil 2.0.1. Though things may change depends on software version.

Advertisements

Step 1: Install the Build Dependency libraries

Before getting started, you need to install all the dependency libraries that Sigil required.

1. First, search for and launch “Software & Updates“. KUbuntu user can press Ctrl+Alt+T, then run sudo software-properties-qt instead in konsole.

2. When it opens, enable “Source Code” in the first tab and then close the dialog.

3. Then, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to refresh the system package cache:

sudo apt update

4. Finally, install the build dependencies for Sigil by running command:

sudo apt build-dep sigil

In case you want to free up some disk spaces after compiling Sigil, it’s better to written down (or copy’n’paste) the packages, this command is going to install. All packages end with -dev are safe to remove after following this tutorial.

Step 2: Download & Extract the Sigil Source Tarball

The latest version of Sigil is available to download at its Github project page via the link below:

Download Sigil

Select download the source code (zip or tar.gz) from Assets section. Finally, right-click on the tarball and select “Extract” it from your Downloads folder.

Step 3: Compile & install Sigil from Source

In the file manager, right-click on the extracted source folder and select “Open in Terminal“.

In the pop-up terminal window, do the following steps one by one to compile it.

1. First, create a sub-folder for building the source.

mkdir sigil-build

2. Then, navigate to that folder you just created:

cd sigil-build

3. Now, configure the source by running command:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../

This command will check all the dependency libraries. It will output error if missing some packages or package version mis-match. Though, the 2.0.1 release works great in my case.

4. If the last command done without error, you can now compile it by running command:

make -j4

The command here will start in 4 threads. Depends how many CPU cores you have, you may change the number 4 accordingly.

This command should work without problem, unless there’s a compile bug. In that case, you may report issue to Github page.

5. Finally, install Sigil by running command:

sudo make install

Here sudo is required for permission to install files to /usr/local directories. Also, you may written down all the files it’s installed, in case you want to remove Sigil later.

When done successfully, search for and launch Sigil from start menu or ‘Activities’ overview depends on your DE, and enjoy!

For Sigil 2.0.1, there’s an error launching the software. It output “Embedded Python Error” – “ModuleNotFoundError: No module named ‘lxml’” as the screenshot below shows you.

Which can be easily  fixed by installing python3-lxml package via the command below in terminal:

sudo apt install python3-lxml

Uninstall Sigil

For the Sigil ePub editor installed via the above steps, you may uninstall it by simply removing all the installed files.

To do so, press Ctrl+Alt+T on keyboard to open terminal and run command:

sudo rm -R /usr/local/bin/sigil 
/usr/local/lib/sigil* 
/usr/local/share/sigil* 
/usr/local/share/applications/sigil.desktop 
/usr/local/share/pixmaps/sigil*

NOTE: This is a single command separated into multiple lines via ‘’. Just copy it and paste into terminal and hit Enter to run.