1 Compiling KeePassX 2 from Source with Qt 4.8.0
2 ==============================================
3 :author: Aaron Ball
4 :email: nullspoon@iohq.net
5
6
7 == {doctitle}
8
9 I am a huge http://keepass.info/[KeePass] fan. I started using it back in
10 college (which was oh so long ago...yyeeaaahhh) when I was using Windows. I
11 later switched to using Linux full time (Ubuntu is definitely a gateway
12 distro). Sadly, I had to leave behind the wonders of the kdbx format for kdb
13 because the Linux KeePass version, http://www.keepassx.org[KeePassX], doesn't
14 support the newer format. But hey, beggers can't be choosers, right?
15
16 A few months back, the developer for KeePassX, debfx, posted on his blog
17 http://www.keepassx.org/news/2010/09/242[here] that he was completely
18 rebuilding KeePassX from scratch. With that, I headed straight on over to his
19 gitorious page and grabbed his source code. Upon trying to build from source, I
20 met a few issues. First off, here's what I typed to get started.
21
22 From a directory called build inside of the master directory, I ran the
23 following:
24
25 ----
26 cmake .. -DCMAKE_INSTALL_PREFIX=~/Desktop/keepassx/keepassx
27 make
28 ----
29
30 Running cmake worked fine, but when I ran make I received the following errors.
31
32 ----
33 /usr/include/QtCore/qscopedpointer.h:207:1: error: stray ‘`’ in program
34 /usr/include/QtCore/qscopedpointer.h: In member function ‘const T& QScopedArrayPointer<T, Cleanup>::operator[](int) const’:
35 /usr/include/QtCore/qscopedpointer.h:226:9: error: ‘r’ was not declared in this scope
36 /usr/include/QtCore/qscopedpointer.h:226:11: error: ‘turn’ was not declared in this scope
37 /usr/include/QtCore/qscopedpointer.h:226:16: error: expected ‘;’ before ‘this’
38 ----
39
40 Oddly it would seem we have a problem with our QtCore stuff. Here's how we fix
41 this. In my case, I only had to change two things. Both changes need to be made
42 to **/usr/include/QtCore/qscopedpointer.h**.
43
44 Firstly, head down to line 207. It will look like
45
46 ----
47 template <typename T,`typename Cleanup = QScopedPointerArrayDeleter>T> >
48 ----
49
50 Remove the `
51
52 ----
53 template <typename T,typename Cleanup = QScopedPointerArrayDeleter<T> >
54 ----
55
56 Secondly, head down to line 226 which should look like
57
58 ----
59 r%turn this->d[i];
60 ----
61
62 Change the % to the letter e
63
64 ----
65 return this->d[i];
66 ----
67
68 Once you've done that, go back and run the cmake, make, and make install
69 commands and you should be set. It looks like a lot of work has yet to be done,
70 but overall it's looking really great. Serious props to debfx for working on
71 KeePassX. I'm really looking forward to this.
72
73
74 Category:Linux
75 Category:Linux_Applications
76
77
78 // vim: set syntax=asciidoc:
|