-
Notifications
You must be signed in to change notification settings - Fork 1
Set up Build Environment on Linux
Note: This is only a one-time setup guide. For actually building KeePassXC, please refer to our build guide.
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++
On Fedora/RHEL/CentOS:
sudo dnf install make automake gcc-c++ cmake
On Arch Linux:
sudo pacman -S cmake make gcc
or
sudo pacman -S cmake make gcc-multilib
On Debian/Ubuntu:
sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools libqt5svg5-dev \
libgcrypt20-dev libargon2-0-dev libqrencode-dev zlib1g-dev
Ubuntu 14.04 and 16.04 require newer versions of libgcrypt20-dev
, which can be installed from our Ubuntu PPA. To avoid clashes with the upstream libgcrypt20-dev
package, our package is named libgcrypt20-18-dev
and installs to /opt/keepassxc-libs/
. You therefore need to set the following environment variables for CMake to find the required libraries:
export CMAKE_INCLUDE_PATH="/opt/keepassxc-libs/include"
export CMAKE_LIBRARY_PATH="/opt/keepassxc-libs/lib/x86_64-linux-gnu"
Alternatively, these can be passed as direct parameters to cmake
later on (-DCMAKE_INCLUDE_PATH=... -DCMAKE_LIBRARY_PATH=...
).
Ubuntu 14.04 is also missing the required libargon2-0-dev
package, which can be installed from the same PPA.
On Fedora/RHEL/CentOS:
sudo dnf install qt5-qtbase-devel qt5-linguist qt5-qttools qt5-qtsvg-devel \
libgcrypt-devel libargon2-devel qrencode-devel zlib-devel
CentOS requires more up-to-date packages, provided here: https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/
On Arch Linux:
sudo pacman -S qt5-base qt5-tools libgcrypt argon2 qrencode zlib
These are required to build Auto-Type, Yubikey and browser integration support. For 3rd party token challenge and response (HMACSHA1) support follow instructions here.
On Debian/Ubuntu:
sudo apt install libxi-dev libxtst-dev libqt5x11extras5-dev \
libyubikey-dev libykpers-1-dev libsodium-dev libcurl4-openssl-dev
For Ubuntu 14.04, the libsodium-dev
package is provided through our PPA, see above.
On Fedora/RHEL/CentOS:
sudo dnf install libXi-devel libXtst-devel qt5-qtx11extras \
qt5-qtx11extras-devel libyubikey-devel ykpers-devel \
libsodium-devel libcurl-devel
CentOS requires more up-to-date packages, provided here: https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/
On Arch Linux:
sudo pacman -S libxi libxtst qt5-x11extras qt5-tools \
yubico-c yubikey-personalization libsodium curl
For OnlyKey and Yubikey support:
Install ykpers dependencies here
$ wget https://github.com/trustcrypto/yubikey-personalization/releases/download/v1.19.1/ykpers-1.19.1.tar.gz
$ tar xf ykpers-1.19.1.tar.gz
$ cd ykpers-1.19.1
$ autoreconf --install
$ ./configure
$ make check install
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