Версия KeePassX .4.3 - Старая база данных kdb и 2.0 не работают - Ubuntu

764
amurrell

1. Ситуация

Перенос базы паролей с одного компьютера на новый. KeepassX 2.0 великолепен, но он не поддерживает загрузку старых БД. На самом деле вы должны использовать keepassX 2.0, поскольку он имеет регулярные выпуски и намного безопаснее.

2. Главный выпуск

В старых версиях в процессе сборки cmake / qmake есть фатальная ошибка, препятствующая установке

3. Процесс до сих пор

Старые версии с сайта KeepassX.org доступны для скачивания - их необходимо собрать из исходного кода с помощью cmake / qmake

4. Дорожный блок

Существует проблема с getpidошибкой в ​​обеих версиях .4.3 и .4.4, которая препятствовала дальнейшей установке make / make, чтобы она заработала.

lib/random.cpp: In function ‘void initStdRand()’: lib/random.cpp:98:19: error: ‘getpid’ was not declared in this scope stream << getpid(); ^ Makefile:838: recipe for target '../build/random.o' failed make[1]: *** [../build/random.o] Error 1 make[1]: Leaving directory '/home/angela/Downloads/keepassx-0.4.4/src' Makefile:39: recipe for target 'sub-src-make_default' failed 
1

1 ответ на вопрос

2
amurrell

After some research, I was able to find a patch that worked.

Solution process

  1. Navigate to download all old versions - specifically keepassx-0.4.3.tar.gz

  2. Use this patch or copy from the code pasted below and save to a file keepassx-0.4.3-gcc47.patch

keepassx-0.4.3-gcc47.patch file contents:

diff -Naur keepassx-0.4.3/src/lib/random.cpp keepassx-0.4.3.new/src/lib/random.cpp --- keepassx-0.4.3/src/lib/random.cpp 2009-06-28 16:22:31.000000000 +0200 +++ keepassx-0.4.3.new/src/lib/random.cpp 2012-04-19 00:20:15.757415510 +0200 @@ -19,6 +19,7 @@ ***************************************************************************/ #include "random.h" +#include <unistd.h> #if defined(Q_WS_X11) || defined(Q_WS_MAC) 
  1. tar -xzf keepassx-0.4.3.tar.gz extract your keepass source folder

  2. cd into the folder

  3. sudo apt-get install cmake (or if using .4.4 you will need sudo apt-get install qt-qmake.)

    • You may need some build packages too like sudo apt-get install libxtst-dev build-essential libqt4-dev you may need to look those up separately because I ended up installing a lot of those but not really sure which packages were actually necessary
  4. Add the patch, assuming you're in your keepass dir and your patch file is one level up: patch -p1 < ../keepassx-0.4.3-gcc47.patch

  5. run cmake ./

  6. make

  7. make install

  8. great success!

Похожие вопросы