First, make sure that the required packages for Qt5 development of your distribution are installed, for Debian and Ubuntu these are:
apt-get install qt5-default qt5-qmake qtbase5-dev-tools qttools5-dev-tools \ build-essential libboost-dev libboost-system-dev \ libboost-filesystem-dev libboost-thread-dev \ libssl-dev libminiupnpc-dev libzip-dev
then execute the following:
qmake make
Alternatively, install Qt Creator and open the gridcoin-qt.pro file.
An executable named gridcoinresearch will be built.
Windows build instructions:
- Download the QT Windows SDK and install it. You don't need the Symbian stuff, just the desktop Qt.
- Compile openssl and boost.
- Open the .pro file in QT creator and build as normal (ctrl-B)
- Download and install the Qt Mac OS X SDK. It is recommended to also install Apple's Xcode with UNIX tools.
- Execute the following commands in a terminal to get the dependencies:
sudo port selfupdate sudo port install boost miniupnpc
- Open the .pro file in Qt Creator and build as normal (cmd-B)
- Install Qt Creator and open the makefile.am file for Auto-Tools to build for your OS.
- An executable named gridcoinresearch will be built in the /src/Qt directory.
To use UPnP for port forwarding behind a NAT router (recommended, as more connections overall allow for a faster and more stable Gridcoin experience), pass the following argument to qmake:
qmake "USE_UPNP=1"
(in Qt Creator, you can find the setting for additional qmake arguments under "Projects" -> "Build Settings" -> "Build Steps", then click "Details" next to qmake)
This requires miniupnpc for UPnP port mapping. It can be downloaded from http://miniupnp.tuxfamily.org/files/. UPnP support is not compiled in by default.
Set USE_UPNP to a different value to control this:
USE_UPNP=- | no UPnP support, miniupnpc not required; |
USE_UPNP=0 | (the default) built with UPnP, support turned off by default at runtime; |
USE_UPNP=1 | build with UPnP support turned on by default at runtime. |
To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the FreeDesktop notification interface through DBUS using the following qmake option:
qmake "USE_DBUS=1"
libqrencode may be used to generate QRCode images for payment requests. It can be downloaded from https://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager. Pass the USE_QRCODE flag to qmake to control this:
USE_QRCODE=0 | (the default) No QRCode support - libarcode not required |
USE_QRCODE=1 | QRCode support enabled |
Ubuntu 11.10 has a package called 'qt-at-spi' installed by default. At the time of writing, having that package installed causes gridcoin-qt to crash intermittently. The issue has been reported as launchpad bug 857790, but isn't yet fixed.
Until the bug is fixed, you can remove the qt-at-spi package to work around the problem, though this will presumably disable screen reader functionality for Qt apps:
sudo apt-get remove qt-at-spi
If the Gridcoin binary is managed via a distributions package management the built-in upgrader will do more harm than good. Disable it through the following qmake option:
qmake NO_UPGRADE=1