Linux Wallet Build Guide

Cognitio edited this page May 6, 2018 · 7 revisions

To run the Cognitio wallet on a Linux system, you have two options available currently:

1) Pecompiled static headless daemon

You can download this from the releases page (download the file 'cognitiod)':

https://github.com/cognitio-core/cognitio/releases

To start the daemon, open up terminal, navigate to the directory where you have placed cognitiod and then type: ./cognitiod -daemon

You will see a message saying that it is starting. In order to see more commands, you can type 'cognitiod help' which will display a list of all commands.

2) Compile either the daemon or gui yourself

In order to build the daemon or gui from the source, you will need the following dependencies:


These dependencies are required:

Library Purpose Description
libssl SSL Support Secure communications
libboost Boost C++ Library

Optional dependencies:

Library Purpose Description
miniupnpc UPnP Support Firewall-jumping support
libdb4.8 Berkeley DB Wallet storage (only needed when wallet enabled)
qt GUI GUI toolkit (only needed when GUI enabled)
protobuf Payments in GUI Data interchange format used for payment protocol (only needed when GUI enabled)
libqrencode QR codes in GUI Optional for generating QR codes (only needed when GUI enabled)

For the versions used in the release, see release-process.md under Fetch and build inputs.

System requirements

C++ compilers are memory-hungry. It is recommended to have at least 1 GB of memory available when compiling Cognitio Core. With 512MB of memory or less compilation will take much longer due to swap thrashing.

Dependency Build Instructions: Ubuntu & Debian

Build requirements:

sudo apt-get install build-essential libtool automake autotools-dev autoconf pkg-config libssl-dev libgmp3-dev libevent-dev bsdmainutils

For Ubuntu 12.04 and later or Debian 7 and later libboost-all-dev has to be installed:

sudo apt-get install libboost-all-dev

db4.8 packages are available here. You can add the repository using the following command:

    sudo add-apt-repository ppa:bitcoin/bitcoin
    sudo apt-get update

Ubuntu 12.04 and later have packages for libdb5.1-dev and libdb5.1++-dev, but using these will break binary wallet compatibility, and is not recommended.

For other Debian & Ubuntu (with ppa):

sudo apt-get install libdb4.8-dev libdb4.8++-dev

Optional:

sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default)

Dependencies for the GUI: Ubuntu & Debian

If you want to build the Cognitio GUI wallet, make sure that the required packages for Qt development are installed. Qt 5 is necessary to build the GUI. If both Qt 4 and Qt 5 are installed, Qt 5 will be used.

For Qt 5 you need the following:

sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

libqrencode (optional) can be installed with:

sudo apt-get install libqrencode-dev

Compile the wallet

After installing the above dependencies, navigate to the Cognitio source folder in terminal.

To build the GUI wallet, type in: ./compile-qt.sh

To build the daemon, type in: ./compile-daemon.sh

Notes

The release is built with GCC and then "strip cognitiod" to strip the debug symbols, which reduces the executable size by about 90%.

miniupnpc

miniupnpc may be used for UPnP port mapping. It can be downloaded from here. UPnP support is compiled in and turned off by default.

To build:

tar -xzvf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
make
sudo su
make install
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.