KeePassX .4.3バージョン-古いkdbデータベースと2.0が機能しない-Ubuntu


1

1.状況

1台のコンピューターから新しいコンピューターへのパスワードデータベースの転送。KeepassX 2.0は優れていますが、古いDBのロードはサポートしていません。実際、定期的なリリースがあり、はるかに安全なので、今後は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

回答:


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 dirにいて、パッチファイルが1レベル上にあると仮定して、パッチを追加します。 patch -p1 < ../keepassx-0.4.3-gcc47.patch

  5. 走る cmake ./

  6. make

  7. make install

  8. 大成功!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.