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

1. Ситуация

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

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

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

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

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

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

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

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. Перейдите, чтобы загрузить все старые версии, в частности keepassx-0.4.3.tar.gz

  2. Используйте этот патч или скопируйте код, вставленный ниже, и сохраните в файл keepassx-0.4.3-gcc47.patch

Содержимое файла keepassx-0.4.3-gcc47.patch:

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 распакуйте вашу исходную папку keepass

  2. cd в папку

  3. sudo apt-get install cmake (или при использовании.4.4 вам понадобится sudo apt-get install qt-qmake.)

    • Вам может понадобиться несколько сборочных пакетов, таких как sudo apt-get install libxtst-dev build-essential libqt4-dev возможно, вам придется искать их отдельно, потому что я установил много таких, но не совсем уверен, какие пакеты были действительно необходимы
  4. Добавьте патч, предполагая, что вы находитесь в директории keepass, а ваш файл патча на один уровень выше: patch -p1 < ../keepassx-0.4.3-gcc47.patch

  5. бежать cmake ./

  6. make

  7. make install

  8. огромный успех!

Другие вопросы по тегам