Installation - tjdeveng/KeepTower GitHub Wiki

Installation

This guide covers installation of KeepTower on various Linux distributions.

Prerequisites

KeepTower requires the following libraries:

  • GTKmm 4.0 (GTK4 C++ bindings)
  • Protocol Buffers (libprotobuf)
  • OpenSSL 3.5.0+
  • libcorrect (Reed-Solomon error correction)
  • GIO/GLib 2.68+
  • Meson build system
  • C++23 compatible compiler (GCC 13+ or Clang 16+)

Fedora / RHEL / CentOS Stream

Install Dependencies

sudo dnf install gcc-c++ meson ninja-build pkg-config \
    gtkmm4.0-devel protobuf-devel openssl-devel \
    libcorrect-devel gtest-devel desktop-file-utils appstream

Note: KeepTower can auto-build a local OpenSSL 3.5.x toolchain if your system OpenSSL is older.

Build from Source

git clone https://github.com/tjdeveng/KeepTower.git
cd KeepTower
meson setup build
meson compile -C build

Install System-wide (Optional)

sudo meson install -C build

Run without Installing

./build/src/keeptower

Ubuntu / Debian

Install Dependencies

sudo apt update
sudo apt install libgtkmm-4.0-dev libprotobuf-dev protobuf-compiler \
    libssl-dev libgtest-dev cmake git desktop-file-utils appstream

# Build and install libcorrect (not in Ubuntu repos)
git clone https://github.com/quiet/libcorrect.git /tmp/libcorrect
cd /tmp/libcorrect
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ..
make -j$(nproc)
sudo make install
sudo ldconfig

Note: KeepTower can auto-build a local OpenSSL 3.5.x toolchain if your system OpenSSL is older.

Build from Source

git clone https://github.com/tjdeveng/KeepTower.git
cd KeepTower
meson setup build
meson compile -C build
./build/src/keeptower

Arch Linux / Manjaro

Install Dependencies

sudo pacman -S gtkmm-4.0 protobuf openssl libcorrect meson ninja gcc git

Build from Source

git clone https://github.com/tjdeveng/KeepTower.git
cd KeepTower
meson setup build
meson compile -C build
./build/src/keeptower

AUR Package (Coming Soon)

# Will be available as keeptower-git
yay -S keeptower-git

openSUSE

Install Dependencies

sudo zypper install gtkmm4-devel protobuf-devel libopenssl-3-devel \
    libcorrect-devel meson ninja gcc-c++ git

Build from Source

git clone https://github.com/tjdeveng/KeepTower.git
cd KeepTower
meson setup build
meson compile -C build
./build/src/keeptower

Flatpak (Coming Soon)

Flatpak packaging is planned for wider distribution compatibility:

# Future installation method
flatpak install flathub com.tjdeveng.keeptower
flatpak run com.tjdeveng.keeptower

Building with Custom Options

Debug Build

meson setup build --buildtype=debug
meson compile -C build

Release Build with Optimizations

meson setup build --buildtype=release
meson compile -C build

Install to Custom Prefix

meson setup build --prefix=/usr/local
meson compile -C build
sudo meson install -C build

Running Tests

After building, run the test suite to verify everything works:

meson test -C build

The full Meson suite should pass. If any tests fail, please report an issue on GitHub.


Uninstalling

Remove System Files

If you installed system-wide:

sudo ninja -C build uninstall

Or simply remove the build directory if you ran without installing:

rm -rf build

Clean Settings (Optional)

To remove configuration and cache files (useful for fresh reinstall or fixing corrupted settings):

./scripts/cleanup.sh

What this removes:

  • GSettings configuration (com.tjdeveng.keeptower)
  • Compiled GSchema cache
  • Application config directory (~/.config/keeptower/)

What this keeps:

  • ✓ Your vault files (*.vault)
  • ✓ Vault backups (*.vault.backup)
  • ✓ All user data

Note: Your vault files are never touched by any uninstall process. They remain your responsibility and must be manually deleted if desired.


Troubleshooting

"Package 'gtkmm-4.0' not found"

Your distribution may not have GTK4 packages yet. You may need to:

  1. Add a PPA/COPR repository
  2. Build GTK4 from source
  3. Wait for your distribution to package GTK4

"libcorrect not found"

Some distributions don't package libcorrect. You can build it manually:

git clone https://github.com/quiet/libcorrect.git
cd libcorrect
mkdir build && cd build
cmake ..
make
sudo make install
sudo ldconfig

Build Errors with GCC

Ensure you have GCC 11 or later:

gcc --version

If your version is older, install a newer compiler or use Clang.


Next Steps

After installation, proceed to Getting Started to create your first vault.


Last synced: 2026-04-05 21:14:15 UTC