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:
- Add a PPA/COPR repository
- Build GTK4 from source
- 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