Skip to content

GNU Linux Compilation Guide

Sarthak Pati edited this page Jan 13, 2020 · 2 revisions

Compiling CaPTk for GNU/Linux

OS Requirements

CaPTk can be built and packaged on Ubuntu 16.04 equivalents and later. 14.04 support works only in the AppImage form (which can be produced on 16.04), as Qt 5.11 depends on a newer version of dbus that 14.04 does not have by default. If you are on another platform and run into an error that looks like:

qt/5.11.2/lib/libQt5WebEngineCore.so.5.11.2: undefined reference to `dbus_message_get_type@LIBDBUS_1_3'

Then try upgrading your version of dbus to the latest.

Note for non-Ubuntu users

The current platform with the most support is Ubuntu 16.04. CaPTk can be compiled on later versions, but not previous. In addition, non-Ubuntu derivatives have not been tested to determine if CaPTk can be compiled on them, however CaPTk ships an AppImage installer that will work on older or different distributions.

Library/Compiler Dependencies

If you are on Ubuntu 16.04 you can run:

$ sudo apt-get install gcc g++ make libgl-dev cmake

on the commandline. On earlier versions of Ubuntu, libgl-dev is not present and you will need to run:

$ sudo apt-get install -qq gcc g++ make libgl1-mesa-dev cmake

If you are not using an Ubuntu variant, or a Debian-based distribution, make sure that you have the equivalent libraries.

Compiling

https://cbica.github.io/CaPTk/tr_integration.html#tr_sourceBuid

Building with Documentation on

If you would like to build the docs with the project, you will need a LaTeX compiler and doxygen. These should be accessible from your package manager:

$ sudo apt-get install texlive doxygen

Then simply run cmake .. from your build directory. Now docs will be built with the project.

Packaging

CaPTk has it's own automated packaging script, captk-pkg. This script will configure, build, and package CaPTk into an AppImage installer. It can be invoked by navigating to the CaPTk root directory, and running $ ./scripts/captk-pkg.

NOTE: This tool is intended to be used AFTER the superbuild is done!

The AppImage this script provides is able to be used on multiple versions of GNU/Linux, even if they have different kernels, package managers, or software versions.