zArchive~Linux Guide - gridcoin-community/Gridcoin-Wiki GitHub Wiki

Note: These instructions are for Debian based systems, openSUSE and Fedora, please see instructions on GitHub for other systems.

Pre-compiled binaries

If you prefer to use a repository rather than compile yourself, jump to Linux Downloads

Dependencies

All Installations:

Debian / Ubuntu:

sudo apt-get install git libdb-dev libdb++-dev build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev software-properties-common libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev libqt5charts5-dev

openSUSE:

sudo zypper in git icoutils libdb-4_8-devel cxxtools-devel libtool autobuild automake pkg-config libopenssl-devel libevent-devel libbsd0 libbsd-devel libboost_system-devel libboost_filesystem-devel libboost_chrono-devel libboost_program_options-devel libboost_test-devel libboost_thread-devel libminiupnpc-devel libQt5DBus5 libQt5Designer5 libQt5Core5 libQt5Core-devel libQt5Gui5 libQt5Gui-devel libqt5-qtbase-devel libqt5-qttools-devel protobuf-devel qrencode-devel libQt5Charts5-devel

Fedora:

sudo dnf install git icoutils libdb-devel libdb-cxx-devel boost-build libtool auto-buildrequires automake pkg-config openssl-devel libevent-devel libbsd libbsd-devel boost boost-devel boost-filesystem boost-chrono boost-program-options boost-test boost-thread miniupnpc-devel import-properties-plugin qt5-designer qt5 qt5-devel qt5-qtbase qt5-qtbase-devel qt5-qdbusviewer dbusmenu-qt5-devel qt5-qtbase-gui qt5-qttools-devel protobuf-devel protobuf-compiler qrencode-devel qt5-qtcharts-devel

Sync to Gridcoin Repository

New Build

For if you do not have an existing ~/Gridcoin-Research folder from a previous build.

cd ~

git clone https://github.com/gridcoin-community/Gridcoin-Research

cd ~/Gridcoin-Research

git fetch --all

git reset --hard origin/master

OR

Upgrade Existing Build

For if you have previously built the client and have an existing ~/Gridcoin-Research folder.

cd ~/Gridcoin-Research

git fetch --all

git reset --hard origin/master

Troubleshooting

If you have trouble updating source from git try configuring git to not use ssl:

git config --global http.sslverify false

Build using Autotools

Build

cd ~/Gridcoin-Research

./autogen.sh

./configure --with-incompatible-bdb

For Systems with low RAM (e.g. <1GB RAM) such as Raspberry Pi's use the following configure command in place of the one above.

./configure --with-incompatible-bdb CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"

make

Install

make install

Sometimes make install does not work.

cd src

strip gridcoinresearchd

sudo install -m 755 gridcoinresearchd /usr/bin/gridcoinresearchd

If you intend to run the client "Headless" please skip to #Creating config file

cd qt

strip gridcoinresearch

sudo install -m 755 gridcoinresearch /usr/bin/gridcoinresearch

Look for gridcoinresearch, it should be in the current folder.

Creating config file

Once Gridcoin is installed you will need to create and set-up the configuration (conf) file.

From command line:

mkdir ~/.GridcoinResearch

chmod 700 ~/.GridcoinResearch

Within this folder create a file containing the information from the page Gridcoinresearch config file

Blockchain snapshot (optional)

If this is a clean installation, you can improve the time it takes to get into sync with the chain by downloading a snapshot. The snapshot is never perfectly up to date, but it will get you most of the way there. Save this file in your ~/.GridcoinResearch folder:

http://download.gridcoin.us/download/downloadstake/signed/snapshot.zip

Extract the snapshot, making sure the folder and the blk001.dat file are in the ~/.GridcoinResearch folder, not a snapshot sub-folder.

Finally Restart the client

SSL (optional)

You really only need SSL if you are controlling Gridcoin directly from another host over a public network/internet using RPC.

This does not apply to most people, even if you are using SSH from another computer.

First, add this line to gridcoinresearch.conf

rpcssl=1

Then, run these commands in your shell:

cd ~/.GridcoinResearch

openssl genrsa -out server.pem 2048

openssl req -new -x509 -nodes -sha1 -days 3650 -key server.pem > server.cert

gridcoinresearchd

Wait for the server to start and then type:

gridcoinresearchd getmininginfo

This should return the current difficulty and other network settings.

Known Issues

There are occasionally issues with the permission of the ~/.GridcoinResearch folder, depending on which user first built/installed/ran the binary, such as root.

Simply change the ownership of the file to your user using this command:

chown $USER -R ~/.GridcoinResearch