Skip to content

Latest commit

 

History

History
163 lines (96 loc) · 4.9 KB

readme-qt.rst

File metadata and controls

163 lines (96 loc) · 4.9 KB

EquiTrader-qt: Qt4 GUI for EquiTrader

Build instructions

Debian

First, make sure that the required packages for Qt4 development of your distribution are installed, these are

for Debian and Ubuntu <= 11.10 :

apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
    libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
    libssl-dev libdb4.8++-dev

for Ubuntu >= 12.04 (please read the 'Berkely DB version warning' below):

apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
    libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
    libssl-dev libdb++-dev

then execute the following:

qmake
make

Alternatively, install Qt Creator and open the EquiTrader-qt.pro file.

An executable named EquiTrader-qt will be built.

Windows

Windows build instructions:

  • Download the QT Windows SDK and install it. You don't need the Symbian stuff, just the desktop Qt.
  • Download and extract the dependencies archive [1], or compile openssl, boost and dbcxx yourself.
  • 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.
  • Open the .pro file in QT creator and build as normal (ctrl-B)
[1]PGP signature: https://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID 610945D0)

Mac OS X

  • Download and install the Qt Mac OS X SDK. It is recommended to also install Apple's Xcode with UNIX tools.
  • Download and install MacPorts.
  • Execute the following commands in a terminal to get the dependencies:
sudo port selfupdate
sudo port install boost db48
  • Open the .pro file in Qt Creator and build as normal (cmd-B)

Build configuration options

LevelDB transaction index

To use LevelDB for transaction index, pass the following argument to qmake:

qmake "USE_LEVELDB=1"

No additional external dependencies are required. If you're running this on your current sources tree then don't forget to run

make distclean

prior to running qmake.

Assembler implementation of scrypt hashing

To use optimized scrypt implementation instead of generic scrypt module, pass the following argument to qmake:

qmake "USE_ASM=1"

If you're using clang compiler then you need to unroll macroses before compiling. Following commands will do this for you:

cd src/
../contrib/clang/nomacro.pl

No additional external dependencies required. Note that only x86, x86_64 and ARM processors are supported.

Notification support for recent (k)ubuntu versions

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"

Generation of QR codes

libqrencode is used to generate QRCode images for payment requests. It can be downloaded from http://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager.

Berkely DB version warning

A warning for people using the static binary version of EquiTrader on a Linux/UNIX-ish system (tl;dr: Berkely DB databases are not forward compatible).

The static binary version of EquiTrader is linked against libdb5.3.

If the globally installed development package of Berkely DB installed on your system is 5.X, for example, any source you build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded, and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without significant hassle!

Ubuntu 11.10 warning

Ubuntu 11.10 has a package called 'qt-at-spi' installed by default. At the time of writing, having that package installed causes EquiTrader-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