summaryrefslogtreecommitdiff
path: root/src/Compiling_KeePassX_2_from_Source_with_Qt_4.8.0.adoc
blob: 54368bc0ca6ed8e0b0dff0040a4bd880cccaa0e3 (plain)
    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:

Generated by cgit