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>
...