Версия 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 ответ
После некоторых исследований я смог найти исправление, которое сработало.
Процесс решения
Перейдите, чтобы загрузить все старые версии, в частности keepassx-0.4.3.tar.gz
Используйте этот патч или скопируйте код, вставленный ниже, и сохраните в файл
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)
tar -xzf keepassx-0.4.3.tar.gz
распакуйте вашу исходную папку keepasscd
в папкуsudo apt-get install cmake
(или при использовании.4.4 вам понадобитсяsudo apt-get install qt-qmake
.)- Вам может понадобиться несколько сборочных пакетов, таких как
sudo apt-get install libxtst-dev build-essential libqt4-dev
возможно, вам придется искать их отдельно, потому что я установил много таких, но не совсем уверен, какие пакеты были действительно необходимы
- Вам может понадобиться несколько сборочных пакетов, таких как
Добавьте патч, предполагая, что вы находитесь в директории keepass, а ваш файл патча на один уровень выше:
patch -p1 < ../keepassx-0.4.3-gcc47.patch
бежать
cmake ./
make
make install
огромный успех!