Skip to content

KeepassX 0.4.4 unter Linux Mint kompilieren

Zuerst installieren wir alle benötigten Pakete zum kompilieren von KeepassX.

tux@earth:~$ sudo apt-get install checkinstall build-essential qt4-dev-tools qt4-designer
tux@earth:~$ sudo apt-get install g++
tux@earth:~$ sudo apt-get install libxtst-dev libqt4-dev

Nun laden wir uns die gewünschte KeepassX Version als Quellen herunter und kompilieren diese wie folgt.

tux@earth:~$ mkdir -p ~/tmp ; cd ~/tmp/
tux@earth:~/tmp$ wget https://www.keepassx.org/releases/0.4.4/keepassx-0.4.4.tar.gz
tux@earth:~/tmp$ tar xzvf keepassx-0.4.4.tar.gz
tux@earth:~/tmp$ cd keepassx-0.4.4/
tux@earth:~/tmp/keepassx-0.4.4$ qmake-qt4
tux@earth:~/tmp/keepassx-0.4.4$ make
tux@earth:~/tmp/keepassx-0.4.4$ sudo checkinstall
tux@earth:~/tmp/keepassx-0.4.4$ sudo chmod -R 777 /usr/share/keepassx

Mit checkinstall wird ein KeepassX Debian Paket gebaut und installiert. Ich habe als Maintainer meine Email Adresse eingegeben und als Description habe ich KeePass is a free open source password manager, which helps you to manage your passwords in a secure way.

Es wird beim Kompilieren bestimmt der Fehler error: ‘getpid’ was not declared in this scope auftreten.

lib/random.cpp:98:12: error: ‘getpid’ was not declared in this scope
  stream << getpid();

Wenn dies der Fall ist, müssen wir die Datei src/lib/random.cpp bearbeiten und unter der include Anweisung für "random.h" eine weitere Include Anweisung für <unistd.h> hinzufügen und erneut kompilieren.

tux@earth:~/tmp/keepassx-0.4.4$ vi src/lib/random.cpp

...
#include "random.h"
#include <unistd.h>
...

Dokumentation