mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-12-04 15:39:34 +01:00
Updated Set up Build Environment on Linux (markdown)
@@ -3,19 +3,19 @@
|
|||||||
### Install the C++ toolchain
|
### Install the C++ toolchain
|
||||||
**You can skip this step if you have a working C++ toolchain (g++, cmake and make)**
|
**You can skip this step if you have a working C++ toolchain (g++, cmake and make)**
|
||||||
|
|
||||||
On Debian/Ubuntu:
|
On **Debian/Ubuntu**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install build-essential cmake g++
|
sudo apt install build-essential cmake g++
|
||||||
```
|
```
|
||||||
|
|
||||||
On Fedora/RHEL/CentOS:
|
On **Fedora/RHEL/CentOS**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dnf install make automake gcc-c++ cmake
|
sudo dnf install make automake gcc-c++ cmake
|
||||||
```
|
```
|
||||||
|
|
||||||
On Arch Linux:
|
On **Arch Linux**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -S cmake make gcc
|
sudo pacman -S cmake make gcc
|
||||||
@@ -27,48 +27,61 @@ sudo pacman -S cmake make gcc-multilib
|
|||||||
|
|
||||||
### Install the required dependencies
|
### Install the required dependencies
|
||||||
|
|
||||||
On Debian/Ubuntu:
|
On **Debian/Ubuntu**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools \
|
sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools \
|
||||||
libgcrypt20-dev zlib1g-dev
|
libgcrypt20-dev libargon2-0-dev zlib1g-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
On Fedora/RHEL/CentOS:
|
**Ubuntu 14.04** and **16.04** require newer versions of libgcrypt20-dev, which can be installed from [our Ubuntu PPA](https://launchpad.net/~phoerious/+archive/ubuntu/keepassxc). To avoid clashes with the upstream `libgcrypt20-dev` package, our package is named `libgcrypt20-18` and installs to `/opt/libgcrypt20-18`. You therefore need to set the following environment variables, so CMake will find the required libraries:
|
||||||
|
|
||||||
> Note: CentOS may require more up-to-date packages, provided here: https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/
|
```bash
|
||||||
|
export CMAKE_INCLUDE_PATH="/opt/libgcrypt20-18/include:/opt/gpg-error-127/include"
|
||||||
|
export CMAKE_LIBRARY_PATH="/opt/libgcrypt20-18/lib/x86_64-linux-gnu:/opt/gpg-error-127/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**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dnf install qt5-qtbase-devel qt5-linguist qt5-qttools \
|
sudo dnf install qt5-qtbase-devel qt5-linguist qt5-qttools \
|
||||||
libgcrypt-devel zlib-devel
|
libgcrypt-devel libargon2-devel zlib-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
On Arch Linux:
|
**CentOS** requires more up-to-date packages, provided here: https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/
|
||||||
|
|
||||||
|
On **Arch Linux**:
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -S qt5-base qt5-tools libgcrypt zlib
|
sudo pacman -S qt5-base qt5-tools libgcrypt argon2 zlib
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install the optional dependencies
|
### Install the optional dependencies
|
||||||
|
|
||||||
These are required to build Auto-Type, Yubikey and browser integration support.
|
These are required to build Auto-Type, Yubikey and browser integration support.
|
||||||
|
|
||||||
On Debian/Ubuntu:
|
On **Debian/Ubuntu**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install libxi-dev libxtst-dev libqt5x11extras5-dev \
|
sudo apt install libxi-dev libxtst-dev libqt5x11extras5-dev \
|
||||||
libyubikey-dev libykpers-1-dev libsodium-dev
|
libyubikey-dev libykpers-1-dev libsodium-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
On Fedora/RHEL/CentOS:
|
For **Ubuntu 14.04**, the `libsodium-dev` package is provided through our PPA, see above.
|
||||||
|
|
||||||
> Note: CentOS may require more up-to-date packages, provided here: https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/
|
On **Fedora/RHEL/CentOS**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dnf install libXi-devel libXtst-devel qt5-qtx11extras \
|
sudo dnf install libXi-devel libXtst-devel qt5-qtx11extras \
|
||||||
qt5-qtx11extras-devel libyubikey-devel ykpers-devel libsodium-devel
|
qt5-qtx11extras-devel libyubikey-devel ykpers-devel libsodium-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
On Arch Linux:
|
**CentOS** requires more up-to-date packages, provided here: https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/
|
||||||
|
|
||||||
|
On **Arch Linux**:
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -S libxi libxtst qt5-x11extras qt5-tools \
|
sudo pacman -S libxi libxtst qt5-x11extras qt5-tools \
|
||||||
yubico-c yubikey-personalization libsodium
|
yubico-c yubikey-personalization libsodium
|
||||||
@@ -76,19 +89,19 @@ sudo pacman -S libxi libxtst qt5-x11extras qt5-tools \
|
|||||||
|
|
||||||
### Update your environment regularly
|
### Update your environment regularly
|
||||||
|
|
||||||
On Debian/Ubuntu:
|
On **Debian/Ubuntu**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get update && sudo apt-get upgrade
|
sudo apt-get update && sudo apt-get upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
On Fedora/RHEL/CentOS:
|
On **Fedora/RHEL/CentOS**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dnf update && sudo dnf upgrade
|
sudo dnf update && sudo dnf upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
On Arch Linux
|
On **Arch Linux**:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -Syyuu
|
sudo pacman -Syyuu
|
||||||
|
|||||||
Reference in New Issue
Block a user