Update readme-qt.rst for 0.6.0
[novacoin.git] / doc / readme-qt.rst
1 Bitcoin-qt: Qt4 GUI for Bitcoin
2 ===============================
3
4 Build instructions
5 ===================
6
7 Debian
8 -------
9
10 First, make sure that the required packages for Qt4 development of your
11 distribution are installed, for Debian and Ubuntu these are:
12
13 ::
14
15     apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
16         libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
17         libssl-dev libdb4.8++-dev
18
19 then execute the following:
20
21 ::
22
23     qmake
24     make
25
26 Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file.
27
28 An executable named `bitcoin-qt` will be built.
29
30
31 Windows
32 --------
33
34 Windows build instructions:
35
36 - Download the `QT Windows SDK`_ and install it. You don't need the Symbian stuff, just the desktop Qt.
37
38 - Download and extract the `dependencies archive`_  [#]_, or compile openssl, boost and dbcxx yourself.
39
40 - 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.
41
42 - Open the .pro file in QT creator and build as normal (ctrl-B)
43
44 .. _`QT Windows SDK`: http://qt.nokia.com/downloads/sdk-windows-cpp
45 .. _`dependencies archive`: https://download.visucore.com/bitcoin/qtgui_deps_1.zip
46 .. [#] PGP signature: https://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID `610945D0`_)
47 .. _`610945D0`: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x610945D0
48
49
50 Mac OS X
51 --------
52
53 - Download and install the `Qt Mac OS X SDK`_. It is recommended to also install Apple's Xcode with UNIX tools.
54
55 - Download and install `MacPorts`_.
56
57 - Execute the following commands in a terminal to get the dependencies:
58
59 ::
60
61         sudo port selfupdate
62         sudo port install boost db48 miniupnpc
63
64 - Open the .pro file in Qt Creator and build as normal (cmd-B)
65
66 .. _`Qt Mac OS X SDK`: http://qt.nokia.com/downloads/sdk-mac-os-cpp
67 .. _`MacPorts`: http://www.macports.org/install.php
68
69
70 Build configuration options
71 ============================
72
73 UPNnP port forwarding
74 ---------------------
75
76 To use UPnP for port forwarding behind a NAT router (recommended, as more connections overall allow for a faster and more stable bitcoin experience), pass the following argument to qmake:
77
78 ::
79
80     qmake "USE_UPNP=1"
81
82 (in **Qt Creator**, you can find the setting for additional qmake arguments under "Projects" -> "Build Settings" -> "Build Steps", then click "Details" next to **qmake**)
83
84 This requires miniupnpc for UPnP port mapping.  It can be downloaded from
85 http://miniupnp.tuxfamily.org/files/.  UPnP support is not compiled in by default.
86
87 Set USE_UPNP to a different value to control this:
88
89 +------------+--------------------------------------------------------------------------+
90 | USE_UPNP=- | no UPnP support, miniupnpc not required;                                 |
91 +------------+--------------------------------------------------------------------------+
92 | USE_UPNP=0 | (the default) built with UPnP, support turned off by default at runtime; |
93 +------------+--------------------------------------------------------------------------+
94 | USE_UPNP=1 | build with UPnP support turned on by default at runtime.                 |
95 +------------+--------------------------------------------------------------------------+
96
97 Notification support for recent (k)ubuntu versions
98 ---------------------------------------------------
99
100 To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the
101 FreeDesktop notification interface through DBUS using the following qmake option:
102
103 ::
104
105     qmake "USE_DBUS=1"
106
107 Generation of QR codes
108 -----------------------
109
110 libqrencode may be used to generate QRCode images for payment requests. 
111 It can be downloaded from http://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager. Pass the USE_QRCODE 
112 flag to qmake to control this:
113
114 +--------------+--------------------------------------------------------------------------+
115 | USE_QRCODE=0 | (the default) No QRCode support - libarcode not required                 |
116 +--------------+--------------------------------------------------------------------------+
117 | USE_QRCODE=1 | QRCode support enabled                                                   |
118 +--------------+--------------------------------------------------------------------------+
119
120
121 Berkely DB version warning
122 ==========================
123
124 A warning for people using the *static binary* version of Bitcoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**).
125
126 The static binary version of Bitcoin is linked against libdb4.8 (see also `this Debian issue`_).
127
128 Now the nasty thing is that databases from 5.X are not compatible with 4.X.
129
130 If the globally installed development package of Berkely DB installed on your system is 5.X, any source you
131 build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded,
132 and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without
133 significant hassle!
134
135 .. _`this Debian issue`: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621425
136
137 Ubuntu 11.10 warning
138 ====================
139
140 Ubuntu 11.10 has a package called 'qt-at-spi' installed by default.  At the time of writing, having that package
141 installed causes bitcoin-qt to crash intermittently.  The issue has been reported as `launchpad bug 857790`_, but
142 isn't yet fixed.
143
144 Until the bug is fixed, you can remove the qt-at-spi package to work around the problem, though this will presumably
145 disable screen reader functionality for Qt apps:
146
147 ::
148
149     sudo apt-get remove qt-at-spi
150
151 .. _`launchpad bug 857790`: https://bugs.launchpad.net/ubuntu/+source/qt-at-spi/+bug/857790