web-dev-qa-db-ja.com

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

1.状況

1つのコンピュータから新しいコンピュータへのパスワードデータベースの転送。 KeepAssx 2.0は素晴らしいですが、古いDBSのロードをサポートしていません。実際、あなたはそれが定期的なリリースを持っていてもっと安全なので、keepassx 2.0を今後も使うべきです。

2.主な問題

古いバージョンは、それらのCMake/Qmakeビルドプロセスで致命的なエラーを持っていますインストール

これまでの処理

KeepAssx.orgサイトからの古いバージョンはダウンロード可能です - CMake/Qmakeを使用してソースからビルドする必要があります。

4.道路ブロック

getpidの問題があります。これ以上の作業を行うために追加された/ 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
amurrell

いくつかの研究の後、私は働いたパッチを見つけることができました。

解決策プロセス

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

2
amurrell