1 Novacoin-qt: Qt4 GUI for Novacoin
2 ===============================
10 First, make sure that the required packages for Qt4 development of your
11 distribution are installed, these are
15 for Debian and Ubuntu <= 11.10 :
19 apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
20 libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
21 libssl-dev libdb4.8++-dev
23 for Ubuntu >= 12.04 (please read the 'Berkely DB version warning' below):
27 apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
28 libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
29 libssl-dev libdb++-dev libminiupnpc-dev
31 then execute the following:
38 Alternatively, install Qt Creator and open the `novacoin-qt.pro` file.
40 An executable named `novacoin-qt` will be built.
46 Windows build instructions:
48 - Download the `QT Windows SDK`_ and install it. You don't need the Symbian stuff, just the desktop Qt.
50 - Download and extract the `dependencies archive`_ [#]_, or compile openssl, boost and dbcxx yourself.
52 - Copy the contents of the folder "deps" to "X:\\QtSDK\\mingw", replace X:\\ with the location where you installed the Qt SDK. Make sure that the contents of "deps\\include" end up in the current "include" directory.
54 - Open the .pro file in QT creator and build as normal (ctrl-B)
56 .. _`QT Windows SDK`: http://qt.nokia.com/downloads/sdk-windows-cpp
57 .. _`dependencies archive`: https://download.visucore.com/bitcoin/qtgui_deps_1.zip
58 .. [#] PGP signature: https://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID `610945D0`_)
59 .. _`610945D0`: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x610945D0
65 - Download and install the `Qt Mac OS X SDK`_. It is recommended to also install Apple's Xcode with UNIX tools.
67 - Download and install `MacPorts`_.
69 - Execute the following commands in a terminal to get the dependencies:
74 sudo port install boost db48 miniupnpc
76 - Open the .pro file in Qt Creator and build as normal (cmd-B)
78 .. _`Qt Mac OS X SDK`: http://qt.nokia.com/downloads/sdk-mac-os-cpp
79 .. _`MacPorts`: http://www.macports.org/install.php
82 Build configuration options
83 ============================
85 LevelDB transaction index
86 --------------------------
88 To use LevelDB for transaction index, pass the following argument to qmake:
94 No additional external dependencies are required. If you're running this on your current sources tree then don't forget to run
100 prior to running qmake.
102 Assembler implementation of scrypt hashing
103 ------------------------------------------
105 To use optimized scrypt implementation instead of generic scrypt module, pass the following argument to qmake:
112 If you're using clang compiler then you need to unroll macroses before compiling. Following commands will do this for you:
117 ../contrib/clang/nomacro.pl
119 No additional external dependencies required. Note that only x86, x86_64 and ARM processors are supported.
121 UPNnP port forwarding
122 ---------------------
124 To use UPnP for port forwarding behind a NAT router (recommended, as more connections overall allow for a faster and more stable novacoin experience), pass the following argument to qmake:
130 (in **Qt Creator**, you can find the setting for additional qmake arguments under "Projects" -> "Build Settings" -> "Build Steps", then click "Details" next to **qmake**)
132 This requires miniupnpc for UPnP port mapping. It can be downloaded from
133 http://miniupnp.tuxfamily.org/files/. UPnP support is not compiled in by default.
135 Set USE_UPNP to a different value to control this:
137 +------------+--------------------------------------------------------------------------+
138 | USE_UPNP=- | no UPnP support, miniupnpc not required; |
139 +------------+--------------------------------------------------------------------------+
140 | USE_UPNP=0 | (the default) built with UPnP, support turned off by default at runtime; |
141 +------------+--------------------------------------------------------------------------+
142 | USE_UPNP=1 | build with UPnP support turned on by default at runtime. |
143 +------------+--------------------------------------------------------------------------+
145 Notification support for recent (k)ubuntu versions
146 ---------------------------------------------------
148 To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the
149 FreeDesktop notification interface through DBUS using the following qmake option:
155 Generation of QR codes
156 -----------------------
158 libqrencode may be used to generate QRCode images for payment requests.
159 It can be downloaded from http://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager. Pass the USE_QRCODE
160 flag to qmake to control this:
162 +--------------+--------------------------------------------------------------------------+
163 | USE_QRCODE=0 | (the default) No QRCode support - libarcode not required |
164 +--------------+--------------------------------------------------------------------------+
165 | USE_QRCODE=1 | QRCode support enabled |
166 +--------------+--------------------------------------------------------------------------+
169 Berkely DB version warning
170 ==========================
172 A warning for people using the *static binary* version of Novacoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**).
174 The static binary version of Novacoin is linked against libdb5.3.
176 If the globally installed development package of Berkely DB installed on your system is 5.X, for example, any source you
177 build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded,
178 and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without
184 Ubuntu 11.10 has a package called 'qt-at-spi' installed by default. At the time of writing, having that package
185 installed causes novacoin-qt to crash intermittently. The issue has been reported as `launchpad bug 857790`_, but
188 Until the bug is fixed, you can remove the qt-at-spi package to work around the problem, though this will presumably
189 disable screen reader functionality for Qt apps:
193 sudo apt-get remove qt-at-spi
195 .. _`launchpad bug 857790`: https://bugs.launchpad.net/ubuntu/+source/qt-at-spi/+bug/857790