KeePassX .4.3版本-旧的kdb数据库和2.0不起作用-Ubuntu


1

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

Answers:


2

经过研究,我找到了一个可行的补丁。

解决过程

  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. 巨大的成功!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.