Skip to content

Set up Build Environment on Linux

Sami Vänttinen edited this page May 20, 2026 · 56 revisions

Note: This is only a one-time setup guide. For actually building KeePassXC, please refer to our build guide.

Install the build toolchain

You can skip this step if you have a working C++ toolchain (g++, cmake and make)

On Debian/Ubuntu:

sudo apt install build-essential cmake g++ asciidoctor

On Fedora/RHEL/CentOS:

sudo dnf install make automake gcc-c++ cmake rubygem-asciidoctor 

On Arch Linux:

sudo pacman -S cmake make gcc asciidoctor

or

sudo pacman -S cmake make gcc-multilib asciidoctor

Install the required dependencies

On Debian/Ubuntu:

sudo apt install qt6-base-dev qt6-svg-dev qt6-tools-dev libusb-1.0-0-dev \
    libbotan-3-dev zlib1g-dev libminizip-dev libpcsclite-dev libkeyutils-dev \
    libxi-dev libxtst-dev libqrencode-dev

On Ubuntu 22 LTS (Jammy), make sure these are installed:

sudo apt install libbotan-2-dev qt6-base-dev qt6-base-private-dev qt6-tools-dev \
        qt6-base-dev-tools qt6-tools-dev-tools qt6-l10n-tools libqt6svg6-dev \
        libreadline-dev

On Fedora/RHEL/CentOS:

sudo dnf install qt6-qtbase-devel qt6-qtsvg-devel qt6-qttools-devel botan3-devel \
    minizip-compat-devel pcsc-lite-devel libusb1-devel keyutils-libs-devel libXi-devel \
    libXtst-devel qrencode-devel

CentOS requires more up-to-date packages, provided here: https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/

On Arch Linux:

sudo pacman -S qt6-base qt6-tools qt6-svg argon2 botan qrencode zlib readline \
    keyutils pcsclite libusb libxi libxtst minizip

Update your environment regularly

On Debian/Ubuntu:

sudo apt-get update && sudo apt-get upgrade

On Fedora/RHEL/CentOS:

sudo dnf update && sudo dnf upgrade

On Arch Linux:

sudo pacman -Syyuu

Clone this wiki locally