Install xmr-stak 2.4 in a machine with NVIDIA video card under Ubuntu 18.04 LTS

This is simple “how to” to get started mining crypto currency with XMR-STAK using cryptonight algorithm like monero, electroneum, intensecoin and more. This time we are going to use PPA repository for the NVIDIA drivers and the CUDA toolkit. Installing the official NVIDIA driver we can use our ASUS ROG POSEIDON GTX 1080Ti Platinum Edition to mine along with our processor AMD Ryzen Threadripper 1950X (16 cores with 32 threads with 3.4GHz base frequency and boost to 4GHz).
XMR-STAK could be used only for CPU mining, but now we installed an NVIDIA card and Ubuntu 18.04 LTS. Ubuntu is installed with the default open source NVIDIA driver (nouveau), which is OK for every day and office use, but if you like to game or to mine you must install the proprietary driver shipped by NVIDIA. The following howto will show you how to do it!

Just follow the simple steps and you’ll have an optimized GPU and CPU miner for cryptonight crypto currencies:

STEP 1) Install Ubuntu 18.04 LTS.

If you do not have Ubuntu installed yet it is time to do it. You can see how easy is to do it here even if you have multiple systems installed – Install Ubuntu Desktop 18.04 LTS on a PC with existing windows 10 and linux If your machine is only for mining and you want to have only one system it’s even simpler and you can still follow the above howto!

STEP 2) Install NVIDIA proprietary driver and CUDA Toolkit

Here we show you a brief command set to execute, but if you want a detailed explanations you could check the two howtos on the subject: Install NVIDIA proprietary drivers on Ubuntu 18.0 LTS (x86_64) and Install NVIDIA Cuda on Ubuntu 18.04 LTS (x86_64)

myuser@srv:~$ sudo apt -y update
myuser@srv:~$ sudo add-apt-repository -y ppa:graphics-drivers/ppa
myuser@srv:~$ sudo apt -y update
myuser@srv:~$ sudo ubuntu-drivers autoinstall
myuser@srv:~$ sudo reboot
myuser@srv:~$ sudo apt install -y nvidia-cuda-toolkit gcc-6

Check if your driver is loaded successfully before continuing:

myuser@srv:~$ dmesg|grep -i nvidia
[    1.414268] nvidia: loading out-of-tree module taints kernel.
[    1.414273] nvidia: module license 'NVIDIA' taints kernel.
[    1.632334] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    1.639698] nvidia-nvlink: Nvlink Core is being initialized, major device number 236
[    1.640031] nvidia 0000:0a:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    1.640146] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  396.24.10  Tue Jul 10 10:00:18 PDT 2018 (using threaded interrupts)
[    1.647029] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  396.24.10  Tue Jul 10 08:53:56 PDT 2018
[    1.648372] [drm] [nvidia-drm] [GPU ID 0x00000a00] Loading driver
[    1.648373] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:0a:00.0 on minor 0
[   37.086767] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 511
[   37.761570] caller os_map_kernel_space.part.7+0xda/0x120 [nvidia] mapping multiple BARs
[   38.532918] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input16
[   38.532960] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input17
[   38.532996] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input18
[   38.533028] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input19
[   40.851562] caller os_map_kernel_space.part.7+0xda/0x120 [nvidia] mapping multiple BARs
[   41.205592] nvidia-modeset: Allocated GPU:0 (GPU-3bad60bf-8ff7-4cba-8b51-a931299a56d8) @ PCI:0000:0a:00.0

STEP 3) Install dependencies for XMR-STAK

Around 380Mbytes of libraries and tools to be installed in addition.

myuser@srv:~$ sudo apt -y install libboost-all-dev libleveldb-dev libcurl4-openssl-dev libmicrohttpd-dev libminiupnpc-dev libgmp-dev libmicrohttpd-dev libssl-dev cmake build-essential screen git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
build-essential set to manually installed.
The following additional packages will be installed:
  autotools-dev cmake-data dh-python gir1.2-harfbuzz-0.0 ibverbs-providers icu-devtools libboost-atomic-dev libboost-atomic1.65-dev libboost-atomic1.65.1
  libboost-chrono-dev libboost-chrono1.65-dev libboost-chrono1.65.1 libboost-container-dev libboost-container1.65-dev libboost-container1.65.1 libboost-context-dev
  libboost-context1.65-dev libboost-context1.65.1 libboost-coroutine-dev libboost-coroutine1.65-dev libboost-coroutine1.65.1 libboost-date-time-dev
  libboost-date-time1.65-dev libboost-dev libboost-exception-dev libboost-exception1.65-dev libboost-fiber-dev libboost-fiber1.65-dev libboost-fiber1.65.1
  libboost-filesystem-dev libboost-filesystem1.65-dev libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.65-dev libboost-graph-parallel1.65.1
  libboost-graph1.65-dev libboost-graph1.65.1 libboost-iostreams-dev libboost-iostreams1.65-dev libboost-locale-dev libboost-locale1.65-dev libboost-log-dev
  libboost-log1.65-dev libboost-log1.65.1 libboost-math-dev libboost-math1.65-dev libboost-math1.65.1 libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.65-dev
  libboost-mpi-python1.65.1 libboost-mpi1.65-dev libboost-mpi1.65.1 libboost-numpy-dev libboost-numpy1.65-dev libboost-numpy1.65.1 libboost-program-options-dev
  libboost-program-options1.65-dev libboost-program-options1.65.1 libboost-python-dev libboost-python1.65-dev libboost-python1.65.1 libboost-random-dev
  libboost-random1.65-dev libboost-random1.65.1 libboost-regex-dev libboost-regex1.65-dev libboost-regex1.65.1 libboost-serialization-dev libboost-serialization1.65-dev
  libboost-serialization1.65.1 libboost-signals-dev libboost-signals1.65-dev libboost-signals1.65.1 libboost-stacktrace-dev libboost-stacktrace1.65-dev
  libboost-stacktrace1.65.1 libboost-system-dev libboost-system1.65-dev libboost-test-dev libboost-test1.65-dev libboost-test1.65.1 libboost-thread-dev
  libboost-thread1.65-dev libboost-timer-dev libboost-timer1.65-dev libboost-timer1.65.1 libboost-tools-dev libboost-type-erasure-dev libboost-type-erasure1.65-dev
  libboost-type-erasure1.65.1 libboost-wave-dev libboost-wave1.65-dev libboost-wave1.65.1 libboost1.65-dev libboost1.65-tools-dev libcurl4 libexpat1-dev libfabric1
  libgcrypt20-dev libglib2.0-dev libglib2.0-dev-bin libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 libgpg-error-dev libgraphite2-dev
  libharfbuzz-dev libharfbuzz-gobject0 libhwloc-dev libhwloc-plugins libhwloc5 libibverbs-dev libibverbs1 libicu-dev libicu-le-hb-dev libicu-le-hb0 libiculx60
  libidn2-0-dev libidn2-dev libjsoncpp1 libleveldb1v5 libltdl-dev libmicrohttpd12 libnl-route-3-200 libnuma-dev libopenmpi-dev libopenmpi2 libp11-kit-dev libpcre16-3
  libpcre3-dev libpcre32-3 libpcrecpp0v5 libpsm-infinipath1 libpython-dev libpython-stdlib libpython2.7-dev libpython3-dev libpython3.6-dev librdmacm1 librhash0
  libsnappy1v5 libssl-doc libtasn1-6-dev libtasn1-doc libtool libunbound2 libuv1 mpi-default-bin mpi-default-dev nettle-dev openmpi-bin openmpi-common python python-dev
  python-minimal python2.7 python2.7-dev python2.7-minimal python3-dev python3-distutils python3-lib2to3 python3.6-dev zlib1g-dev git-man liberror-perl libutempter0
Suggested packages:
  cmake-doc ninja-build libboost-doc graphviz libboost1.65-doc gccxml libmpfrc++-dev libntl-dev xsltproc doxygen docbook-xml docbook-xsl default-jdk fop libcurl4-doc
  libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgcrypt20-doc libglib2.0-doc gmp-doc libgmp10-doc libmpfr-dev gnutls-doc gnutls-bin libgraphite2-utils
  libhwloc-contrib-plugins icu-doc leveldb-doc libtool-doc minissdpd openmpi-doc autoconf automaken gfortran | fortran95-compiler gcj-jdk gfortran python-doc python-tk git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn byobu | screenie | iselect
  python2.7-doc binfmt-support
The following NEW packages will be installed:
  autotools-dev cmake cmake-data dh-python gir1.2-harfbuzz-0.0 ibverbs-providers icu-devtools libboost-all-dev libboost-atomic-dev libboost-atomic1.65-dev
  libboost-atomic1.65.1 libboost-chrono-dev libboost-chrono1.65-dev libboost-chrono1.65.1 libboost-container-dev libboost-container1.65-dev libboost-container1.65.1
  libboost-context-dev libboost-context1.65-dev libboost-context1.65.1 libboost-coroutine-dev libboost-coroutine1.65-dev libboost-coroutine1.65.1 libboost-date-time-dev
  libboost-date-time1.65-dev libboost-dev libboost-exception-dev libboost-exception1.65-dev libboost-fiber-dev libboost-fiber1.65-dev libboost-fiber1.65.1
  libboost-filesystem-dev libboost-filesystem1.65-dev libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.65-dev libboost-graph-parallel1.65.1
  libboost-graph1.65-dev libboost-graph1.65.1 libboost-iostreams-dev libboost-iostreams1.65-dev libboost-locale-dev libboost-locale1.65-dev libboost-log-dev
  libboost-log1.65-dev libboost-log1.65.1 libboost-math-dev libboost-math1.65-dev libboost-math1.65.1 libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.65-dev
  libboost-mpi-python1.65.1 libboost-mpi1.65-dev libboost-mpi1.65.1 libboost-numpy-dev libboost-numpy1.65-dev libboost-numpy1.65.1 libboost-program-options-dev
  libboost-program-options1.65-dev libboost-program-options1.65.1 libboost-python-dev libboost-python1.65-dev libboost-python1.65.1 libboost-random-dev
  libboost-random1.65-dev libboost-random1.65.1 libboost-regex-dev libboost-regex1.65-dev libboost-regex1.65.1 libboost-serialization-dev libboost-serialization1.65-dev
  libboost-serialization1.65.1 libboost-signals-dev libboost-signals1.65-dev libboost-signals1.65.1 libboost-stacktrace-dev libboost-stacktrace1.65-dev
  libboost-stacktrace1.65.1 libboost-system-dev libboost-system1.65-dev libboost-test-dev libboost-test1.65-dev libboost-test1.65.1 libboost-thread-dev
  libboost-thread1.65-dev libboost-timer-dev libboost-timer1.65-dev libboost-timer1.65.1 libboost-tools-dev libboost-type-erasure-dev libboost-type-erasure1.65-dev
  libboost-type-erasure1.65.1 libboost-wave-dev libboost-wave1.65-dev libboost-wave1.65.1 libboost1.65-dev libboost1.65-tools-dev libcurl4 libcurl4-openssl-dev
  libexpat1-dev libfabric1 libgcrypt20-dev libglib2.0-dev libglib2.0-dev-bin libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28
  libgpg-error-dev libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libhwloc-dev libhwloc-plugins libhwloc5 libibverbs-dev libibverbs1 libicu-dev libicu-le-hb-dev
  libicu-le-hb0 libiculx60 libidn2-0-dev libidn2-dev libjsoncpp1 libleveldb-dev libleveldb1v5 libltdl-dev libmicrohttpd-dev libmicrohttpd12 libminiupnpc-dev
  libnl-route-3-200 libnuma-dev libopenmpi-dev libopenmpi2 libp11-kit-dev libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpsm-infinipath1 libpython-dev
  libpython-stdlib libpython2.7-dev libpython3-dev libpython3.6-dev librdmacm1 librhash0 libsnappy1v5 libssl-dev libssl-doc libtasn1-6-dev libtasn1-doc libtool
  libunbound2 libuv1 mpi-default-bin mpi-default-dev nettle-dev openmpi-bin openmpi-common python python-dev python-minimal python2.7 python2.7-dev python2.7-minimal
  python3-dev python3-distutils python3-lib2to3 python3.6-dev zlib1g-dev git git-man liberror-perl libutempter0 screen
0 upgraded, 179 newly installed, 0 to remove and 26 not upgraded.
Need to get 76.9 MB of archives.
After this operation, 380 MB of additional disk space will be used.
Get:1 http://gb.archive.ubuntu.com/ubuntu bionic/main amd64 python2.7-minimal amd64 2.7.15~rc1-1 [1292 kB]
....
....

Tune the screen program (this is not mandatory, but is important to have good scrolling) and start screen.

myuser@srv:~$ echo "termcapinfo xterm* ti@:te@" >> ~/.screenrc
myuser@srv:~$ screen -R xmr-stak

STEP 4) Compile XMR-STAK

First get the sources from the official github repository. The master is now with tag 2.4.7. If you do not know how to work with git and want the exact tag version it is easy, just open in the browser “https://github.com/fireice-uk/xmr-stak” change “Branch:master” (click on it and a dropdown will appear, click the tab “Tag” and select your tag version) to “Tag:2.4.7” then click on “Clone or download” on the right and click on “Download ZIP” and it will offer you to download a zip file with the name 2.4.7.zip (here is the URL: https://codeload.github.com/fireice-uk/xmr-stak/zip/2.4.7).
This step it is important to note that we MUST build XMR-STAK with GNU GCC 6 (6.4.0) and the default GNU GCC in Ubuntu 18.04 LTS is 7 (7.3.0), so we export environment variables “CC” and “CXX” to use gcc-6. Exporting CC and CXX is enough to compile succeessfully no need to mess with “update-alternatives”.

myuser@srv:~$ git clone https://github.com/fireice-uk/xmr-stak
Cloning into 'xmr-stak'...
remote: Counting objects: 5078, done.
remote: Total 5078 (delta 0), reused 0 (delta 0), pack-reused 5078
Receiving objects: 100% (5078/5078), 1.48 MiB | 1.86 MiB/s, done.
Resolving deltas: 100% (3628/3628), done.
myuser@srv:~$ #or just download the tag version 2.4.7 from this url: https://codeload.github.com/fireice-uk/xmr-stak/zip/2.4.7 or as it was described above. This 3 lines are comments, if you want tag 2.4.7 just uncomment the second and the third lines
myuser@srv:~$ #wget https://codeload.github.com/fireice-uk/xmr-stak/zip/2.4.7
myuser@srv:~$ #unzip 2.4.7.zip
myuser@srv:~$ mkdir -p ./xmr-stak/build
myuser@srv:~$ cd ./xmr-stak/build
myuser@srv:~/xmr-stak/build$ export CFLAGS="-O2 -march=native -msse3 -fomit-frame-pointer -pipe"
myuser@srv:~/xmr-stak/build$ export CHOST="x86_64-pc-linux-gnu"
myuser@srv:~/xmr-stak/build$ export CXXFLAGS="${CFLAGS}"
myuser@srv:~/xmr-stak/build$ export LDFLAGS="-Wl,-O1"
myuser@srv:~/xmr-stak/build$ export CC=/usr/bin/gcc-6
myuser@srv:~/xmr-stak/build$ export CXX=/usr/bin/g++-6
myuser@srv:~/xmr-stak/build$ cmake ../
-- The C compiler identification is GNU 6.4.0
-- The CXX compiler identification is GNU 6.4.0
-- Check for working C compiler: /usr/bin/gcc-6
-- Check for working C compiler: /usr/bin/gcc-6 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++-6
-- Check for working CXX compiler: /usr/bin/g++-6 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr (found suitable version "9.1", minimum required is "7.5") 
-- Looking for CL_VERSION_2_2
-- Looking for CL_VERSION_2_2 - found
-- Found OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so (found version "2.2") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.0g") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/myuser/xmr-stak/build
myuser@srv:~/xmr-stak/build$ make -j 16
Scanning dependencies of target xmr-stak-c
[  8%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_jh.c.o
[  8%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_blake256.c.o
[  8%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_skein.c.o
[ 11%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_groestl.c.o
[ 14%] Building C object CMakeFiles/xmr-stak-c.dir/xmrstak/backend/cpu/crypto/c_keccak.c.o
[ 17%] Linking C static library bin/libxmr-stak-c.a
[ 17%] Built target xmr-stak-c
Scanning dependencies of target xmr-stak-backend
[ 20%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/version.cpp.o
[ 22%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/jconf.cpp.o
[ 25%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/backendConnector.cpp.o
[ 28%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/telemetry.cpp.o
[ 34%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/net/jpsock.cpp.o
[ 34%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/executor.cpp.o
[ 37%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/http/httpd.cpp.o
[ 42%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/hwlocMemory.cpp.o
[ 42%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/jconf.cpp.o
[ 45%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/crypto/cryptonight_common.cpp.o
[ 48%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/cpu/minethd.cpp.o
[ 51%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/console.cpp.o
[ 54%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/backend/globalStates.cpp.o
[ 57%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/http/webdesign.cpp.o
[ 60%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/uac.cpp.o
[ 62%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/misc/utility.cpp.o
[ 65%] Building CXX object CMakeFiles/xmr-stak-backend.dir/xmrstak/net/socket.cpp.o
[ 68%] Linking CXX static library bin/libxmr-stak-backend.a
[ 68%] Built target xmr-stak-backend
[ 71%] Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o
[ 74%] Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_core.cu.o
Scanning dependencies of target xmr-stak
Scanning dependencies of target xmrstak_opencl_backend
[ 77%] Building CXX object CMakeFiles/xmr-stak.dir/xmrstak/cli/cli-miner.cpp.o
[ 85%] Building CXX object CMakeFiles/xmrstak_opencl_backend.dir/xmrstak/backend/amd/jconf.cpp.o
[ 85%] Building CXX object CMakeFiles/xmrstak_opencl_backend.dir/xmrstak/backend/amd/amd_gpu/gpu.cpp.o
[ 85%] Building CXX object CMakeFiles/xmrstak_opencl_backend.dir/xmrstak/backend/amd/minethd.cpp.o
[ 88%] Linking CXX executable bin/xmr-stak
[ 88%] Built target xmr-stak
[ 91%] Linking CXX shared library bin/libxmrstak_opencl_backend.so
[ 91%] Built target xmrstak_opencl_backend
Scanning dependencies of target xmrstak_cuda_backend
[ 94%] Building CXX object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/jconf.cpp.o
[ 97%] Building CXX object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/minethd.cpp.o
[100%] Linking CXX shared library bin/libxmrstak_cuda_backend.so
[100%] Built target xmrstak_cuda_backend
myuser@srv:~/xmr-stak/build$

STEP 5) Execute XMR-STAK, but before you must execute some tuning exports for the GPU and the linux kernel

Now is the time to use XMR-STAK.

myuser@srv:~/xmr-stak/build$ sudo sysctl -w vm.nr_hugepages=128
myuser@srv:~/xmr-stak/build$ export GPU_FORCE_64BIT_PTR=0
myuser@srv:~/xmr-stak/build$ export GPU_MAX_HEAP_SIZE=100
myuser@srv:~/xmr-stak/build$ export GPU_USE_SYNC_OBJECTS=1
myuser@srv:~/xmr-stak/build$ export GPU_MAX_ALLOC_PERCENT=100
myuser@srv:~/xmr-stak/build$ export GPU_SINGLE_ALLOC_PERCENT=100
myuser@srv:~/xmr-stak/build$ cd ./bin
myuser@srv:~/xmr-stak/build/bin$ ls -la
total 35804
drwxrwxr-x 2 myuser myuser     4096 Jul 19 16:13 .
drwxrwxr-x 4 myuser myuser     4096 Jul 19 16:05 ..
-rw-rw-r-- 1 myuser myuser  1614230 Jul 19 16:05 libxmr-stak-backend.a
-rw-rw-r-- 1 myuser myuser    75182 Jul 19 16:05 libxmr-stak-c.a
-rwxrwxr-x 1 myuser myuser 32570440 Jul 19 16:13 libxmrstak_cuda_backend.so
-rwxrwxr-x 1 myuser myuser  1307456 Jul 19 16:06 libxmrstak_opencl_backend.so
-rwxrwxr-x 1 myuser myuser  1075784 Jul 19 16:06 xmr-stak
myuser@srv:~/xmr-stak/build/bin$ ./xmr-stak 

Always execute the exports before running the xmr-stak binary.
As you can see the XMR-STAK is in

./bin/xmr-stak

under the “~/xmr-stak/build”.

STEP 6) Mining with XMR-STAK.

Execute the program and follow the first run questions. Here you can see a MONERO configuration and the first run – Mining Monero with xmr-stak 2.4 in a machine with NVIDIA video card under Ubuntu 18.04 LTS.

* Options of the XMR-STAK program

As you can see all the algo you can use with this program – new and classic (the old) criptonight coins to mine like Monero, Electroneum, IntenseCoin and many more!

myuser@srv:~/xmr-stak/build/bin$ ./xmr-stak --help
Usage: xmr-stak [OPTION]...
 
  -h, --help                 show this help
  -v, --version              show version number
  -V, --version-long         show long version number
  -c, --config FILE          common miner configuration file
  -C, --poolconf FILE        pool configuration file
  --benchmark BLOCKVERSION   ONLY do a benchmark and exit
  --benchwait WAIT_SEC             ... benchmark wait time
  --benchwork WORK_SEC             ... benchmark work time
  --noCPU                    disable the CPU miner backend
  --cpu FILE                 CPU backend miner config file
  --noAMD                    disable the AMD miner backend
  --noAMDCache               disable the AMD(OpenCL) cache for precompiled binaries
  --openCLVendor VENDOR      use OpenCL driver of VENDOR and devices [AMD,NVIDIA]
                             default: AMD
  --amd FILE                 AMD backend miner config file
  --noNVIDIA                 disable the NVIDIA miner backend
  --nvidia FILE              NVIDIA backend miner config file
  -i --httpd HTTP_PORT       HTTP interface port
 
The following options can be used for automatic start without a guided config,
If config exists then this pool will be top priority.
  -o, --url URL              pool url and port, e.g. pool.usxmrpool.com:3333
  -O, --tls-url URL          TLS pool url and port, e.g. pool.usxmrpool.com:10443
  -u, --user USERNAME        pool user name or wallet address
  -r, --rigid RIGID          rig identifier for pool-side statistics (needs pool support)
  -p, --pass PASSWD          pool password, in the most cases x or empty ""
  --use-nicehash             the pool should run in nicehash mode
  --currency NAME            currency to mine

Supported coin options: 
        - aeon7
        - bbscoin
        - bittube
        - cryptonight
        - cryptonight_bittube2
        - cryptonight_masari
        - cryptonight_haven
        - cryptonight_heavy
        - cryptonight_lite
        - cryptonight_lite_v7
        - cryptonight_lite_v7_xor
        - cryptonight_v7
        - cryptonight_v7_stellite
        - graft
        - haven
        - intense
        - masari
        - monero7
        - ryo
        - stellite
        - turtlecoin

Version: xmr-stak 2.4.7 c5f0505
Brought to by fireice_uk and psychocrypt under GPLv3.

* Troubleshooting – the right version of GNU GCC

You must use GNU GCC 6, because version above 6 (7 and 8) are not supported by the NVIDIA 9.1 Toolkit. So if you end up with this error you must change to the version to 6 from 7 (the default in Ubuntu 18.04 LTS is GNU 7.3.0). GNU GCC 6 was installed as a dependency to NVIDIA 9.1 Toolkit in STEP 2) and we exported two environments “CC” and “CCX” in STEP 4)

[ 85%] Building CXX object CMakeFiles/xmrstak_opencl_backend.dir/xmrstak/backend/amd/jconf.cpp.o
In file included from /usr/include/host_config.h:50:0,
                 from /usr/include/cuda_runtime.h:78,
                 from <command-line>:0:
/usr/include/crt/host_config.h:121:2: error: #error -- unsupported GNU version! gcc versions later than 6 are not supported!
 #error -- unsupported GNU version! gcc versions later than 6 are not supported!
  ^~~~~
In file included from /usr/include/host_config.h:50:0,
                 from /usr/include/cuda_runtime.h:78,
                 from <command-line>:0:
/usr/include/crt/host_config.h:121:2: error: #error -- unsupported GNU version! gcc versions later than 6 are not supported!
 #error -- unsupported GNU version! gcc versions later than 6 are not supported!
  ^~~~~
CMake Error at xmrstak_cuda_backend_generated_cuda_core.cu.o.Release.cmake:219 (message):
  Error generating
  /home/myuser/xmr-stak/build/CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/./xmrstak_cuda_backend_generated_cuda_core.cu.o


CMakeFiles/xmrstak_cuda_backend.dir/build.make:63: recipe for target 'CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_core.cu.o' failed
make[2]: *** [CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_core.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMake Error at xmrstak_cuda_backend_generated_cuda_extra.cu.o.Release.cmake:219 (message):
  Error generating
  /home/myuser/xmr-stak/build/CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/./xmrstak_cuda_backend_generated_cuda_extra.cu.o


CMakeFiles/xmrstak_cuda_backend.dir/build.make:70: recipe for target 'CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o' failed
make[2]: *** [CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o] Error 1
CMakeFiles/Makefile2:105: recipe for target 'CMakeFiles/xmrstak_cuda_backend.dir/all' failed
make[1]: *** [CMakeFiles/xmrstak_cuda_backend.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 88%] Linking CXX executable bin/xmr-stak
[ 88%] Built target xmr-stak
[ 91%] Linking CXX shared library bin/libxmrstak_opencl_backend.so
[ 91%] Built target xmrstak_opencl_backend
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

The solution is simple as said, just export CC and CXX before compilation in the same terminal console:

myuser@srv:~$ export CC=/usr/bin/gcc-6
myuser@srv:~$ export CXX=/usr/bin/g++-6

Mining Monero with xmr-stak 2.4 in a machine with NVIDIA video card under Ubuntu 18.04 LTS

Here are all the steps you need to begin mining Monero crypto coin with XMR-STAK 2.4. We can use our ASUS ROG POSEIDON GTX 1080Ti Platinum Edition to mine along with our processor AMD Ryzen Threadripper 1950X (16 cores with 32 threads with 3.4GHz base frequency and boost to 4GHz). As you’ll see our processor has better performance with cryptonight v7 than our GPU.

STEP 1) Install all the needed software

  1. Install linux distro – Ubuntu 18.04 LTS
  2. Install NVIDIA proprietary driver
  3. Install NVIDIA CURA Toolkit
  4. Build XMR-STAK

This step is a matter of another howto, you can check all the step and detail explanations here – Install xmr-stak 2.4 in a machine with NVIDIA video card under Ubuntu 18.04 LTS. Skip it if you just followed the above howto and you want to see an example of how to mine the Monero coins with XMR-STAK using CPU and GPU power.

STEP 2) First run of XMR-STAK

If you followed our howto above you should have installed XMR-STAK in “~/xmr-stak/build/bin”, so all the examples will be run from this directory.

myuser@srv:~/xmr-stak/build/bin$ ./xmr-stak 
Please enter:
- Do you want to use the HTTP interface?
Unlike the screen display, the browser interface is not affected by the GPU lag.
If you don't want to use it, please enter 0, otherwise enter port number that the miner should listen on
0
Configuration stored in file 'config.txt'
Please enter:
- Please enter the currency that you want to mine: 
        - aeon7
        - bbscoin
        - bittube
        - cryptonight
        - cryptonight_bittube2
        - cryptonight_masari
        - cryptonight_haven
        - cryptonight_heavy
        - cryptonight_lite
        - cryptonight_lite_v7
        - cryptonight_lite_v7_xor
        - cryptonight_v7
        - cryptonight_v7_stellite
        - graft
        - haven
        - intense
        - masari
        - monero7
        - ryo
        - stellite
        - turtlecoin

cryptonight_v7
- Pool address: e.g. pool.example.com:3333
pool.monero.spacepools.org:3333
- Username (wallet address or pool login):
111111111111111111111111111111111111111111111111111111111111111111111
- Password (mostly empty or x):
mining@example.com
- Rig identifier for pool-side statistics (needs pool support). Can be empty:

- Does this pool port support TLS/SSL? Use no if unknown. (y/N)
N
- Do you want to use nicehash on this pool? (y/n)
n
- Do you want to use multiple pools? (y/n)
n
Pool configuration stored in file 'pools.txt'
-------------------------------------------------------------------
xmr-stak 2.4.7 c5f0505

Brought to you by fireice_uk and psychocrypt under GPLv3.
Based on CPU mining code by wolf9466 (heavily optimized by fireice_uk).
Based on NVIDIA mining code by KlausT and psychocrypt.
Based on OpenCL mining code by wolf9466.

Configurable dev donation level is set to 2.0%

You can use following keys to display reports:
'h' - hashrate
'r' - results
'c' - connection
-------------------------------------------------------------------
[2018-07-20 03:13:52] : Mining coin: cryptonight_v7
[2018-07-20 03:13:52] : NVIDIA: GPU configuration stored in file 'nvidia.txt'
[2018-07-20 03:13:52] : Starting NVIDIA GPU thread 0, no affinity.
[2018-07-20 03:13:52] : WARNING: No AMD OpenCL platform found. Possible driver issues or wrong vendor driver.
[2018-07-20 03:13:52] : WARNING: backend AMD (OpenCL) disabled.
[2018-07-20 03:13:52] : CPU configuration stored in file 'cpu.txt'
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 0.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 1.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 2.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 3.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 4.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 5.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 6.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 7.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 8.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 9.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 10.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 11.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 12.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 13.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 14.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Starting 1x thread, affinity: 15.
[2018-07-20 03:13:52] : hwloc: memory pinned
[2018-07-20 03:13:52] : Fast-connecting to pool.monero.spacepools.org:3333 pool ...
[2018-07-20 03:13:52] : Pool pool.monero.spacepools.org:3333 connected. Logging in...
[2018-07-20 03:13:53] : Difficulty changed. Now: 50000.
[2018-07-20 03:13:53] : Pool logged in.
[2018-07-20 03:14:16] : Result accepted by the pool.
[2018-07-20 03:14:23] : Difficulty changed. Now: 35000.
[2018-07-20 03:14:23] : New block detected.
[2018-07-20 03:14:24] : Result accepted by the pool.
[2018-07-20 03:14:27] : Result accepted by the pool.
[2018-07-20 03:14:38] : Difficulty changed. Now: 45500.
[2018-07-20 03:14:38] : New block detected.
[2018-07-20 03:14:53] : Difficulty changed. Now: 31850.
[2018-07-20 03:14:53] : New block detected.
[2018-07-20 03:14:59] : Result accepted by the pool.
[2018-07-20 03:15:06] : Result accepted by the pool.
[2018-07-20 03:15:08] : Difficulty changed. Now: 41405.
[2018-07-20 03:15:08] : New block detected.
[2018-07-20 03:15:18] : Result accepted by the pool.
[2018-07-20 03:15:23] : Difficulty changed. Now: 51756.
[2018-07-20 03:15:23] : New block detected.
[2018-07-20 03:15:38] : Difficulty changed. Now: 38817.
[2018-07-20 03:15:38] : New block detected.
[2018-07-20 03:16:08] : New block detected.
[2018-07-20 03:16:08] : Difficulty changed. Now: 27172.
[2018-07-20 03:16:08] : New block detected.
[2018-07-20 03:16:08] : Result accepted by the pool.
HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   80.3 |   80.3 |   (na) |  1 |   80.7 |   80.7 |   (na) |
|  2 |   80.7 |   80.7 |   (na) |  3 |   80.7 |   80.7 |   (na) |
|  4 |   81.2 |   81.1 |   (na) |  5 |   81.2 |   81.1 |   (na) |
|  6 |   81.2 |   81.1 |   (na) |  7 |   81.2 |   81.1 |   (na) |
|  8 |   80.8 |   81.0 |   (na) |  9 |   80.5 |   81.0 |   (na) |
| 10 |   81.0 |   81.1 |   (na) | 11 |   81.0 |   81.0 |   (na) |
| 12 |   81.2 |   81.2 |   (na) | 13 |   81.2 |   81.2 |   (na) |
| 14 |   81.1 |   81.1 |   (na) | 15 |   81.2 |   81.2 |   (na) |
Totals (CPU):  1295.2 1295.8    0.0 H/s
-----------------------------------------------------------------
HASHRATE REPORT - NVIDIA
| ID |    10s |    60s |    15m |
|  0 |   (na) |  772.2 |   (na) |
Totals (NVIDIA):     0.0  772.2    0.0 H/s
-----------------------------------------------------------------
Totals (ALL):   1295.2 2068.0    0.0 H/s
Highest:  2069.8 H/s
-----------------------------------------------------------------
[2018-07-20 03:16:15] : Result accepted by the pool.
RESULT REPORT
Difficulty       : 27172
Good results     : 8 / 8 (100.0 %)
Avg result time  : 17.6 sec
Pool-side hashes : 279449

Top 10 best results found:
|  0 |           179318 |  1 |            98494 |
|  2 |            65145 |  3 |            59550 |
|  4 |            58982 |  5 |            50332 |
|  6 |            42050 |  7 |            34703 |
|  8 |                0 |  9 |                0 |

Error details:
Yay! No errors.
[2018-07-20 03:16:23] : Difficulty changed. Now: 35324.
[2018-07-20 03:16:23] : New block detected.
[2018-07-20 03:16:38] : Difficulty changed. Now: 24727.
[2018-07-20 03:16:38] : New block detected.
[2018-07-20 03:16:42] : Result accepted by the pool.
[2018-07-20 03:16:49] : Result accepted by the pool.
[2018-07-20 03:16:53] : Difficulty changed. Now: 32145.
[2018-07-20 03:16:53] : New block detected.
[2018-07-20 03:16:55] : Result accepted by the pool.
[2018-07-20 03:17:08] : Difficulty changed. Now: 41789.
[2018-07-20 03:17:08] : New block detected.
[2018-07-20 03:17:23] : Difficulty changed. Now: 29252.
[2018-07-20 03:17:23] : New block detected.
[2018-07-20 03:17:47] : Result accepted by the pool.
[2018-07-20 03:17:53] : Difficulty changed. Now: 20476.
[2018-07-20 03:17:53] : New block detected.
[2018-07-20 03:17:54] : Result accepted by the pool.
[2018-07-20 03:18:00] : Result accepted by the pool.
[2018-07-20 03:18:08] : Difficulty changed. Now: 26619.
[2018-07-20 03:18:08] : New block detected.
[2018-07-20 03:18:15] : Result accepted by the pool.
[2018-07-20 03:18:21] : Result accepted by the pool.
[2018-07-20 03:18:23] : Difficulty changed. Now: 34605.
[2018-07-20 03:18:23] : New block detected.
[2018-07-20 03:18:30] : Result accepted by the pool.
[2018-07-20 03:18:30] : Result accepted by the pool.
[2018-07-20 03:18:36] : Result accepted by the pool.
[2018-07-20 03:18:38] : Difficulty changed. Now: 44987.
[2018-07-20 03:18:38] : New block detected.
[2018-07-20 03:18:53] : Difficulty changed. Now: 39694.
[2018-07-20 03:18:53] : New block detected.
[2018-07-20 03:18:55] : Result accepted by the pool.
[2018-07-20 03:18:56] : Result accepted by the pool.
[2018-07-20 03:19:08] : Difficulty changed. Now: 51602.
[2018-07-20 03:19:08] : New block detected.
[2018-07-20 03:19:23] : Difficulty changed. Now: 36121.
[2018-07-20 03:19:23] : New block detected.
[2018-07-20 03:19:28] : New block detected.
[2018-07-20 03:19:37] : Result accepted by the pool.
[2018-07-20 03:20:01] : Result accepted by the pool.
[2018-07-20 03:20:08] : Difficulty changed. Now: 28517.
[2018-07-20 03:20:08] : New block detected.
[2018-07-20 03:20:08] : New block detected.
[2018-07-20 03:20:23] : Difficulty changed. Now: 19962.
[2018-07-20 03:20:23] : New block detected.
[2018-07-20 03:20:23] : Result accepted by the pool.
[2018-07-20 03:20:30] : Result accepted by the pool.
[2018-07-20 03:20:31] : Result accepted by the pool.
[2018-07-20 03:20:38] : Difficulty changed. Now: 25951.
[2018-07-20 03:20:38] : New block detected.
[2018-07-20 03:20:45] : Result accepted by the pool.
[2018-07-20 03:21:08] : Difficulty changed. Now: 21041.
[2018-07-20 03:21:08] : New block detected.
[2018-07-20 03:21:18] : Result accepted by the pool.
[2018-07-20 03:21:23] : Difficulty changed. Now: 27353.
[2018-07-20 03:21:23] : New block detected.
[2018-07-20 03:21:26] : Result accepted by the pool.
[2018-07-20 03:21:32] : Result accepted by the pool.
[2018-07-20 03:21:35] : Result accepted by the pool.
[2018-07-20 03:21:38] : Difficulty changed. Now: 35559.
[2018-07-20 03:21:38] : New block detected.
[2018-07-20 03:21:53] : Difficulty changed. Now: 29633.
[2018-07-20 03:21:53] : New block detected.
[2018-07-20 03:21:55] : Result accepted by the pool.
[2018-07-20 03:22:08] : Difficulty changed. Now: 38523.
[2018-07-20 03:22:08] : New block detected.
[2018-07-20 03:22:23] : Difficulty changed. Now: 26966.
[2018-07-20 03:22:23] : New block detected.
[2018-07-20 03:22:28] : Result accepted by the pool.
[2018-07-20 03:22:38] : Difficulty changed. Now: 35056.
[2018-07-20 03:22:38] : New block detected.
[2018-07-20 03:22:49] : Result accepted by the pool.
[2018-07-20 03:22:52] : Result accepted by the pool.
[2018-07-20 03:22:53] : Difficulty changed. Now: 43820.
[2018-07-20 03:22:53] : New block detected.
[2018-07-20 03:23:00] : Result accepted by the pool.
[2018-07-20 03:23:08] : Difficulty changed. Now: 56966.
[2018-07-20 03:23:08] : New block detected.
[2018-07-20 03:23:13] : Result accepted by the pool.
[2018-07-20 03:23:23] : Difficulty changed. Now: 65730.
[2018-07-20 03:23:23] : New block detected.
[2018-07-20 03:23:23] : Result accepted by the pool.
[2018-07-20 03:23:30] : New block detected.
[2018-07-20 03:23:38] : Difficulty changed. Now: 85449.
[2018-07-20 03:23:38] : New block detected.
[2018-07-20 03:23:53] : Difficulty changed. Now: 59814.
[2018-07-20 03:23:53] : New block detected.
[2018-07-20 03:24:07] : Result accepted by the pool.
[2018-07-20 03:24:35] : New block detected.
[2018-07-20 03:24:38] : Difficulty changed. Now: 41870.
[2018-07-20 03:24:38] : New block detected.
[2018-07-20 03:25:08] : Difficulty changed. Now: 29309.
[2018-07-20 03:25:08] : New block detected.
[2018-07-20 03:25:38] : Difficulty changed. Now: 20516.
[2018-07-20 03:25:38] : New block detected.
[2018-07-20 03:25:49] : Result accepted by the pool.
[2018-07-20 03:25:53] : Difficulty changed. Now: 26671.
[2018-07-20 03:25:53] : New block detected.
[2018-07-20 03:26:08] : Difficulty changed. Now: 21056.
[2018-07-20 03:26:08] : New block detected.
[2018-07-20 03:26:15] : Result accepted by the pool.
[2018-07-20 03:26:22] : Result accepted by the pool.
[2018-07-20 03:26:23] : Difficulty changed. Now: 27373.
[2018-07-20 03:26:23] : New block detected.
[2018-07-20 03:26:52] : Result accepted by the pool.
[2018-07-20 03:26:53] : Difficulty changed. Now: 19161.
[2018-07-20 03:26:53] : New block detected.
[2018-07-20 03:26:56] : Result accepted by the pool.
[2018-07-20 03:27:08] : Difficulty changed. Now: 24909.
[2018-07-20 03:27:08] : New block detected.
[2018-07-20 03:27:19] : Result accepted by the pool.
[2018-07-20 03:27:23] : Difficulty changed. Now: 17436.
[2018-07-20 03:27:23] : New block detected.
[2018-07-20 03:27:26] : Result accepted by the pool.
[2018-07-20 03:27:36] : Result accepted by the pool.
[2018-07-20 03:27:38] : Difficulty changed. Now: 22667.
[2018-07-20 03:27:38] : New block detected.
[2018-07-20 03:27:43] : Result accepted by the pool.
[2018-07-20 03:27:43] : Result accepted by the pool.
[2018-07-20 03:27:49] : Result accepted by the pool.
[2018-07-20 03:27:53] : Difficulty changed. Now: 29467.
[2018-07-20 03:27:53] : New block detected.
[2018-07-20 03:27:57] : Result accepted by the pool.
[2018-07-20 03:28:00] : Result accepted by the pool.
[2018-07-20 03:28:03] : Result accepted by the pool.
[2018-07-20 03:28:08] : Difficulty changed. Now: 38307.
[2018-07-20 03:28:08] : New block detected.
[2018-07-20 03:28:23] : Difficulty changed. Now: 28730.
[2018-07-20 03:28:23] : New block detected.
[2018-07-20 03:28:30] : Result accepted by the pool.
[2018-07-20 03:28:30] : Result accepted by the pool.
[2018-07-20 03:28:35] : Result accepted by the pool.
[2018-07-20 03:28:37] : Result accepted by the pool.
[2018-07-20 03:28:37] : Result accepted by the pool.
[2018-07-20 03:28:38] : Difficulty changed. Now: 37349.
[2018-07-20 03:28:38] : New block detected.
[2018-07-20 03:29:07] : Result accepted by the pool.
[2018-07-20 03:29:08] : Difficulty changed. Now: 26144.
[2018-07-20 03:29:08] : New block detected.
[2018-07-20 03:29:36] : Result accepted by the pool.
[2018-07-20 03:29:38] : Result accepted by the pool.
[2018-07-20 03:29:38] : Difficulty changed. Now: 18301.
[2018-07-20 03:29:38] : New block detected.
[2018-07-20 03:29:41] : Result accepted by the pool.
[2018-07-20 03:29:45] : Result accepted by the pool.
[2018-07-20 03:29:50] : Result accepted by the pool.
[2018-07-20 03:29:53] : Difficulty changed. Now: 23791.
[2018-07-20 03:29:53] : New block detected.
[2018-07-20 03:29:58] : New block detected.
[2018-07-20 03:29:58] : Result accepted by the pool.
[2018-07-20 03:30:08] : Difficulty changed. Now: 30928.
[2018-07-20 03:30:08] : New block detected.
[2018-07-20 03:30:12] : Result accepted by the pool.
[2018-07-20 03:30:13] : Result accepted by the pool.
[2018-07-20 03:30:23] : Difficulty changed. Now: 40206.
[2018-07-20 03:30:23] : New block detected.
[2018-07-20 03:30:24] : Result accepted by the pool.
[2018-07-20 03:30:38] : Difficulty changed. Now: 52268.
[2018-07-20 03:30:38] : New block detected.
[2018-07-20 03:30:53] : Difficulty changed. Now: 36588.
[2018-07-20 03:30:53] : New block detected.
[2018-07-20 03:31:23] : Difficulty changed. Now: 25612.
[2018-07-20 03:31:23] : New block detected.
[2018-07-20 03:31:53] : Difficulty changed. Now: 17928.
[2018-07-20 03:31:53] : New block detected.
[2018-07-20 03:31:53] : Result accepted by the pool.
[2018-07-20 03:32:08] : Difficulty changed. Now: 23306.
[2018-07-20 03:32:08] : New block detected.
[2018-07-20 03:32:14] : Result accepted by the pool.
[2018-07-20 03:32:20] : Result accepted by the pool.
[2018-07-20 03:32:53] : Difficulty changed. Now: 17480.
[2018-07-20 03:32:53] : New block detected.
RESULT REPORT
Difficulty       : 17480
Good results     : 71 / 71 (100.0 %)
Avg result time  : 16.2 sec
Pool-side hashes : 2085841

Top 10 best results found:
|  0 |          4672722 |  1 |           993908 |
|  2 |           991887 |  3 |           271993 |
|  4 |           210975 |  5 |           208951 |
|  6 |           207738 |  7 |           179318 |
|  8 |           144045 |  9 |           118699 |

Error details:
Yay! No errors.
HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   80.3 |   80.3 |   80.3 |  1 |   80.7 |   80.7 |   80.7 |
|  2 |   80.7 |   80.7 |   80.7 |  3 |   80.7 |   80.7 |   80.7 |
|  4 |   81.2 |   81.2 |   81.2 |  5 |   81.2 |   81.2 |   81.2 |
|  6 |   81.2 |   81.2 |   81.1 |  7 |   81.2 |   81.2 |   81.2 |
|  8 |   80.7 |   81.1 |   81.0 |  9 |   80.9 |   81.1 |   81.1 |
| 10 |   80.9 |   81.0 |   81.0 | 11 |   80.9 |   81.1 |   81.1 |
| 12 |   81.0 |   81.1 |   81.1 | 13 |   81.1 |   81.1 |   81.2 |
| 14 |   81.1 |   81.1 |   81.1 | 15 |   81.1 |   81.1 |   81.2 |
Totals (CPU):  1295.1 1296.0 1295.9 H/s
-----------------------------------------------------------------
HASHRATE REPORT - NVIDIA
| ID |    10s |    60s |    15m |
|  0 |   (na) |  771.7 |  771.5 |
Totals (NVIDIA):     0.0  771.7  771.5 H/s
-----------------------------------------------------------------
Totals (ALL):   1295.1 2067.7 2067.4 H/s
Highest:  2069.9 H/s
-----------------------------------------------------------------
[2018-07-20 03:33:07] : Result accepted by the pool.
[2018-07-20 03:33:09] : Result accepted by the pool.

You could use monero7 or cryptonight_v7to mine Monero. The pool we use is under “Pool address:” – pool.monero.spacepools.org:3333 You cannot mine crypto without to be part of a pool of other mining “people”, because the difficulty is too big for solo mining! So choose your mining pool carefully – by the “Total Pool Fee”, which for the Spacepools is 0.1% and the stability of the pool.
The username is your MONERO wallet address (we changed our to invalid 111111111111111111111111111111111111111111111111111111111111111111111, DO NOT USE THIS ADDRESS) – check this to see how you can generate monero wallet address – Generate a new Monero address (wallet). The password in most cases is your email address, with which you could change some account information in the pool web page.

It is good to see

Result accepted by the pool.

it means your discovered a hash and you are going to be awarded by the pool for your mining share! As many as “accepted results” as good as for you!

As you can see our ASUS ROG POSEIDON GTX 1080Ti Platinum Edition without any overclocking has 771.5 H/s of Cryptonight v7 algorithm!
Our AMD Ryzen Threadripper 1950X (16 cores with 32 threads with 3.4GHz base frequency and boost to 4GHz) without any overclocking has 1295.1 of Cryptonight v7 algorithm! The performance of the CPU is almost double the performance of the GPU.
Our motherboard is ASUS ROG ZENITH EXTREME with 4x8Gbytes (G.Skill Trident Z RGB DIMM Kit 32GB F4-3200C14Q-32GTZR) of RAM running in fourth channel mode.

There are three control keys to display additional information of your XMR-STAK. Press one of the key during the program execution. In the above first run we used “h” and “r”.

'h' - hashrate
'r' - results
'c' - connection

And here is the stat after 5 hours:

[2018-07-20 08:42:32] : Result accepted by the pool.
RESULT REPORT
Difficulty       : 27881
Good results     : 1266 / 1266 (100.0 %)
Avg result time  : 15.6 sec
Pool-side hashes : 41195382

Top 10 best results found:
|  0 |         86854459 |  1 |         47586423 |
|  2 |         35768342 |  3 |         25208619 |
|  4 |          8208523 |  5 |          7828657 |
|  6 |          6669723 |  7 |          6490827 |
|  8 |          6448233 |  9 |          5964065 |

Error details:
Yay! No errors.
HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   80.3 |   80.3 |   80.3 |  1 |   80.8 |   80.8 |   80.8 |
|  2 |   80.8 |   80.8 |   80.8 |  3 |   80.8 |   80.8 |   80.8 |
|  4 |   81.2 |   81.1 |   81.1 |  5 |   81.2 |   81.1 |   81.1 |
|  6 |   81.2 |   81.1 |   81.1 |  7 |   81.2 |   81.1 |   81.1 |
|  8 |   81.0 |   80.9 |   81.0 |  9 |   81.0 |   81.0 |   81.0 |
| 10 |   81.0 |   81.0 |   80.9 | 11 |   80.5 |   80.8 |   81.0 |
| 12 |   81.2 |   81.1 |   81.1 | 13 |   81.2 |   81.2 |   81.2 |
| 14 |   81.2 |   81.2 |   81.1 | 15 |   81.2 |   81.2 |   81.1 |
Totals (CPU):  1295.7 1295.5 1295.7 H/s
-----------------------------------------------------------------
HASHRATE REPORT - NVIDIA
| ID |    10s |    60s |    15m |
|  0 |  773.0 |  769.9 |  771.6 |
Totals (NVIDIA):   773.0  769.9  771.6 H/s
-----------------------------------------------------------------
Totals (ALL):   2068.8 2065.4 2067.3 H/s
Highest:  2069.9 H/s
-----------------------------------------------------------------
[2018-07-20 08:42:42] : Result accepted by the pool.
[2018-07-20 08:42:43] : Difficulty changed. Now: 36245.
[2018-07-20 08:42:43] : New block detected.

Here we use https://dwarfpool.com/ and after 14 hours of mining:

[2018-07-21 02:21:05] : New block detected.
[2018-07-21 02:21:24] : Result accepted by the pool.
[2018-07-21 02:21:31] : Result accepted by the pool.
[2018-07-21 02:21:55] : Result accepted by the pool.
[2018-07-21 02:22:09] : Result accepted by the pool.
[2018-07-21 02:22:32] : Result accepted by the pool.
[2018-07-21 02:23:03] : Result accepted by the pool.
[2018-07-21 02:23:05] : Result accepted by the pool.
[2018-07-21 02:23:19] : Result accepted by the pool.
HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   80.3 |   80.3 |   80.3 |  1 |   80.8 |   80.8 |   80.8 |
|  2 |   80.8 |   80.8 |   80.8 |  3 |   80.8 |   80.8 |   80.8 |
|  4 |   81.2 |   81.1 |   81.2 |  5 |   81.2 |   81.1 |   81.2 |
|  6 |   81.2 |   81.1 |   81.1 |  7 |   81.2 |   81.1 |   81.2 |
|  8 |   81.0 |   80.9 |   81.0 |  9 |   81.0 |   81.0 |   81.0 |
| 10 |   81.0 |   81.0 |   81.0 | 11 |   81.0 |   80.8 |   81.0 |
| 12 |   81.1 |   81.2 |   81.2 | 13 |   81.1 |   81.2 |   81.2 |
| 14 |   81.1 |   81.1 |   81.1 | 15 |   81.0 |   81.2 |   81.2 |
Totals (CPU):  1295.8 1295.5 1295.8 H/s
-----------------------------------------------------------------
HASHRATE REPORT - NVIDIA
| ID |    10s |    60s |    15m |
|  0 |   (na) |  769.5 |  771.1 |
Totals (NVIDIA):     0.0  769.5  771.1 H/s
-----------------------------------------------------------------
Totals (ALL):   1295.8 2065.0 2066.9 H/s
Highest:  2069.8 H/s
-----------------------------------------------------------------
RESULT REPORT
Difficulty       : 50000
Good results     : 2592 / 2595 (99.9 %)
Avg result time  : 23.1 sec
Pool-side hashes : 3300000

Top 10 best results found:
|  0 |       1257001197 |  1 |         62229932 |
|  2 |         58697077 |  3 |         13938510 |
|  4 |         13393176 |  5 |         12264166 |
|  6 |         10357917 |  7 |          8800621 |
|  8 |          8669175 |  9 |          8547001 |

Error details:
| Count | Error text                       | Last seen           |
|     3 | [NETWORK ERROR]                  | 2018-07-20 19:26:18 |
[2018-07-21 02:45:48] : Result accepted by the pool.
[2018-07-21 02:45:50] : Result accepted by the pool.
[2018-07-21 02:46:11] : New block detected.
[2018-07-21 02:46:13] : New block detected.
[2018-07-21 02:46:44] : Result accepted by the pool.
[2018-07-21 02:46:53] : Result accepted by the pool.
[2018-07-21 02:47:21] : Result accepted by the pool.
[2018-07-21 02:47:33] : Result accepted by the pool.
[2018-07-21 02:47:48] : Result accepted by the pool.
RESULT REPORT
Difficulty       : 50000
Good results     : 2657 / 2660 (99.9 %)
Avg result time  : 20.8 sec
Pool-side hashes : 1000000

Top 10 best results found:
|  0 |       1257001197 |  1 |         62229932 |
|  2 |         58697077 |  3 |         13938510 |
|  4 |         13393176 |  5 |         12264166 |
|  6 |         10357917 |  7 |          8800621 |
|  8 |          8669175 |  9 |          8547001 |

Error details:
| Count | Error text                       | Last seen           |
|     3 | [NETWORK ERROR]                  | 2018-07-20 19:26:18 |
HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   80.2 |   80.3 |   77.5 |  1 |   80.7 |   80.7 |   77.9 |
|  2 |   80.7 |   80.7 |   77.9 |  3 |   80.7 |   80.7 |   77.9 |
|  4 |   81.1 |   81.1 |   78.3 |  5 |   81.1 |   81.1 |   78.3 |
|  6 |   81.1 |   81.1 |   78.3 |  7 |   81.1 |   81.1 |   78.3 |
|  8 |   81.1 |   81.0 |   78.2 |  9 |   81.1 |   81.1 |   78.2 |
| 10 |   81.1 |   81.0 |   78.2 | 11 |   81.1 |   81.1 |   78.2 |
| 12 |   81.0 |   81.1 |   78.3 | 13 |   81.1 |   81.1 |   78.3 |
| 14 |   81.0 |   81.1 |   78.3 | 15 |   81.1 |   81.1 |   78.3 |
Totals (CPU):  1295.2 1295.5 1250.7 H/s
-----------------------------------------------------------------
HASHRATE REPORT - NVIDIA
| ID |    10s |    60s |    15m |
|  0 |   (na) |  770.5 |  745.5 |
Totals (NVIDIA):     0.0  770.5  745.5 H/s
-----------------------------------------------------------------
Totals (ALL):   1295.2 2066.0 1996.1 H/s
Highest:  2069.8 H/s
-----------------------------------------------------------------
[2018-07-21 02:48:40] : New block detected.

The difficult is constant 50000 and you see we have multiple results, so we can try to higher it with another port (check for this the configuration page of the pool – https://dwarfpool.com/xmr/). The stats is “Earning in last 24 hours: 0.00753535 XMR”, “Current balance: 0.00732356 XMR” and ” Unconfirmed: 0.00078419 XMR” (in most cases all of it will be confirmed successfully), so the total monero we mined is “0.00810775 XMR” for these 14 hours with our machine and the estimate for the next 24 hours is “0.01440000 XMR” (for the current price you’ll earn 1.832300 USD for 24hours with this machine).

Here is the https://dwarfpool.com/xmr/ with almost 24 hours with difficult 100 000:

[2018-07-22 02:04:35] : Result accepted by the pool.
[2018-07-22 02:04:37] : Result accepted by the pool.
[2018-07-22 02:04:44] : Result accepted by the pool.
[2018-07-22 02:05:29] : Result accepted by the pool.
[2018-07-22 02:05:29] : Result accepted by the pool.
RESULT REPORT
Difficulty       : 100001
Good results     : 1691 / 1693 (99.9 %)
Avg result time  : 35.2 sec
Pool-side hashes : 4800048

Top 10 best results found:
|  0 |         50511124 |  1 |         32008411 |
|  2 |         27907718 |  3 |         27563158 |
|  4 |         20638537 |  5 |         19189255 |
|  6 |         18843649 |  7 |         15123109 |
|  8 |         12496904 |  9 |         12222295 |

Error details:
| Count | Error text                       | Last seen           |
|     1 | Low difficulty share             | 2018-07-21 15:11:03 |
|     1 | [NETWORK ERROR]                  | 2018-07-21 17:22:50 |
HASHRATE REPORT - CPU
| ID |    10s |    60s |    15m | ID |    10s |    60s |    15m |
|  0 |   80.3 |   80.3 |   80.3 |  1 |   80.7 |   80.7 |   80.7 |
|  2 |   80.7 |   80.7 |   80.7 |  3 |   80.7 |   80.7 |   80.7 |
|  4 |   81.1 |   81.2 |   81.1 |  5 |   81.1 |   81.2 |   81.1 |
|  6 |   80.8 |   81.1 |   81.1 |  7 |   81.1 |   81.2 |   81.1 |
|  8 |   80.9 |   81.0 |   81.0 |  9 |   81.0 |   81.0 |   81.0 |
| 10 |   81.0 |   81.1 |   81.1 | 11 |   81.0 |   81.1 |   81.1 |
| 12 |   81.0 |   81.1 |   81.1 | 13 |   81.0 |   81.1 |   81.1 |
| 14 |   80.9 |   81.1 |   81.1 | 15 |   81.0 |   81.1 |   81.1 |
Totals (CPU):  1294.5 1295.8 1295.6 H/s
-----------------------------------------------------------------
HASHRATE REPORT - NVIDIA
| ID |    10s |    60s |    15m |
|  0 |  771.4 |  770.7 |  771.0 |
Totals (NVIDIA):   771.4  770.7  771.0 H/s
-----------------------------------------------------------------
Totals (ALL):   2065.9 2066.5 2066.7 H/s
Highest:  2069.7 H/s
-----------------------------------------------------------------
[2018-07-22 02:06:15] : New block detected.

Current balance: 0.01082526 XMR, Unconfirmed: 0.00242919 XMR, the total is: 0.01325445 XMR, Earning in last 24 hours: 0.00603805 XMR. Next 24h earning with this speed: 0.01850000 XMR (with the current price of Monero 2.455200 USD) very approximated avg_24h_diff = 54061666755.14

Here is the nvidia-smi output

myuser@srv:~/xmr-stak/build/bin$ nvidia-smi 
Fri Jul 20 03:38:52 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.24.10              Driver Version: 396.24.10                 |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:0A:00.0  On |                  N/A |
| 46%   64C    P2   143W / 275W |  10711MiB / 11173MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2119      G   /usr/lib/xorg/Xorg                            59MiB |
|    0      2170      G   /usr/bin/gnome-shell                          70MiB |
|    0     20146      C   ./xmr-stak                                 10577MiB |
+-----------------------------------------------------------------------------+

The GPU is using 143W and here is the used GPU RAM 10711MiB out of 11173MiB by xmr-stak.
All CPU cores are running at 3680.374 Mhz. The uptime is

myuser@srv:~/xmr-stak/build/bin$ uptime
 03:48:37 up 18:28,  3 users,  load average: 16.04, 16.05, 14.39

After the first run there will be created 4 files in your current directory of the xmr-stak binary:

myuser@srv:~/xmr-stak/build/bin$ ls -altr
total 35824
drwxrwxr-x 4 myuser myuser     4096 Jul 19 16:05 ..
-rw-rw-r-- 1 myuser myuser    75182 Jul 19 16:05 libxmr-stak-c.a
-rw-rw-r-- 1 myuser myuser  1614230 Jul 19 16:05 libxmr-stak-backend.a
-rwxrwxr-x 1 myuser myuser  1075784 Jul 19 16:06 xmr-stak
-rwxrwxr-x 1 myuser myuser  1307456 Jul 19 16:06 libxmrstak_opencl_backend.so
-rwxrwxr-x 1 myuser myuser 32570440 Jul 19 16:13 libxmrstak_cuda_backend.so
-rw-rw-r-- 1 myuser myuser     7228 Jul 20 03:10 config.txt
-rw-rw-r-- 1 myuser myuser     2087 Jul 20 03:13 pools.txt
-rw-rw-r-- 1 myuser myuser     2032 Jul 20 03:13 nvidia.txt
-rw-rw-r-- 1 myuser myuser     2963 Jul 20 03:13 cpu.txt
drwxrwxr-x 2 myuser myuser     4096 Jul 20 03:13 .
myuser@srv:~/xmr-stak/build/bin$

The configuration files are

  • config.txt – the general config
  • pools.txt – configuration for what coin your are mining and which pool you are using. You can tune the rig naming and additional pools.
  • nvidia.txt – configuration for GPU miner part – GPU threads, blocks and affine_to_cpu. Definitely check this out.
  • cpu.txt – configuration for the cpu miner part – Thread configuration for each thread – a line for each core. CPU affinity, power mode and more.

These files are generated on the first run with default values and then you could quit the xmr-stak and edit the files with text editor.

* Options of the XMR-STAK program

As you can see all the algo you can use with this program – new and classic (the old) criptonight coins to mine like Monero, Electroneum, IntenseCoin and many more!

myuser@srv:~/xmr-stak/build/bin$ ./xmr-stak --help
Usage: xmr-stak [OPTION]...
 
  -h, --help                 show this help
  -v, --version              show version number
  -V, --version-long         show long version number
  -c, --config FILE          common miner configuration file
  -C, --poolconf FILE        pool configuration file
  --benchmark BLOCKVERSION   ONLY do a benchmark and exit
  --benchwait WAIT_SEC             ... benchmark wait time
  --benchwork WORK_SEC             ... benchmark work time
  --noCPU                    disable the CPU miner backend
  --cpu FILE                 CPU backend miner config file
  --noAMD                    disable the AMD miner backend
  --noAMDCache               disable the AMD(OpenCL) cache for precompiled binaries
  --openCLVendor VENDOR      use OpenCL driver of VENDOR and devices [AMD,NVIDIA]
                             default: AMD
  --amd FILE                 AMD backend miner config file
  --noNVIDIA                 disable the NVIDIA miner backend
  --nvidia FILE              NVIDIA backend miner config file
  -i --httpd HTTP_PORT       HTTP interface port
 
The following options can be used for automatic start without a guided config,
If config exists then this pool will be top priority.
  -o, --url URL              pool url and port, e.g. pool.usxmrpool.com:3333
  -O, --tls-url URL          TLS pool url and port, e.g. pool.usxmrpool.com:10443
  -u, --user USERNAME        pool user name or wallet address
  -r, --rigid RIGID          rig identifier for pool-side statistics (needs pool support)
  -p, --pass PASSWD          pool password, in the most cases x or empty ""
  --use-nicehash             the pool should run in nicehash mode
  --currency NAME            currency to mine

Supported coin options: 
        - aeon7
        - bbscoin
        - bittube
        - cryptonight
        - cryptonight_bittube2
        - cryptonight_masari
        - cryptonight_haven
        - cryptonight_heavy
        - cryptonight_lite
        - cryptonight_lite_v7
        - cryptonight_lite_v7_xor
        - cryptonight_v7
        - cryptonight_v7_stellite
        - graft
        - haven
        - intense
        - masari
        - monero7
        - ryo
        - stellite
        - turtlecoin

Version: xmr-stak 2.4.7 c5f0505
Brought to by fireice_uk and psychocrypt under GPLv3.

Install NVIDIA Cuda on Ubuntu 18.04 LTS (x86_64)

to install NVIDIA Cuda we need the NVIDIA proprietary driver working (and the libraries and files it provides). Ubuntu and most linux distributions come with the open source driver nouveau, but it is with limited performance and capabilities. For gaming and development you will need the official NVIDIA driver, the SDK and many additional proprietary libraries.
This howto is a sort of continuing the Install NVIDIA proprietary drivers on Ubuntu 18.0 LTS (x86_64) where we install the proprietary driver from the unofficial community driven repository “Graphics Drivers” team. This is Personal Package Archives (PPA) repository! So you should check it, too and be careful about this repository as the maintainers say. For completeness will include all the steps to install the NVIDIA proprietary driver (and for more details for this part just read the specific howto we offer above) and Cuda.

Here are the steps to install NVIDIA CUDA on Ubuntu 18.0 LTS (x86_64) with the help of ppa:graphics-drivers/ppa

STEP 1) Update your current repositories, add the new repository, update again and install the NVIDIA driver with the tool ubuntu-drivers

myuser@srv:~$ sudo apt -y update
myuser@srv:~$ sudo add-apt-repository -y ppa:graphics-drivers/ppa
myuser@srv:~$ sudo apt -y update
myuser@srv:~$ sudo ubuntu-drivers autoinstall
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  build-essential dkms dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-8-base:i386 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4
  libatomic1 libbsd0:i386 libc-dev-bin libc6:i386 libc6-dev libcilkrts5 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386
  libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libfakeroot libffi6:i386 libgcc-7-dev libgcc1:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
  libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libitm1 libllvm6.0:i386 liblsan0 libmpx2 libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396
  libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396
  libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 libpciaccess0:i386 libquadmath0 libsensors4:i386
  libstdc++-7-dev libstdc++6:i386 libtinfo5:i386 libtsan0 libubsan0 libvdpau1 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
  libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxnvctrl0
  libxshmfence1:i386 libxxf86vm1:i386 linux-libc-dev make manpages-dev mesa-vdpau-drivers nvidia-compute-utils-396 nvidia-dkms-396 nvidia-kernel-common-396
  nvidia-kernel-source-396 nvidia-prime nvidia-settings nvidia-utils-396 pkg-config screen-resolution-extra vdpau-driver-all xserver-xorg-video-nvidia-396
  zlib1g:i386
Suggested packages:
  menu debian-keyring g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg gcc-multilib autoconf automake libtool flex bison gcc-doc gcc-7-multilib
  gcc-7-locales libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg
  libquadmath0-dbg glibc-doc:i386 locales:i386 glibc-doc lm-sensors:i386 libstdc++-7-doc make-doc libvdpau-va-gl1 nvidia-vdpau-driver
  nvidia-legacy-340xx-vdpau-driver
The following NEW packages will be installed:
  build-essential dkms dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-8-base:i386 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4
  libatomic1 libbsd0:i386 libc-dev-bin libc6:i386 libc6-dev libcilkrts5 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386
  libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libfakeroot libffi6:i386 libgcc-7-dev libgcc1:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
  libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libitm1 libllvm6.0:i386 liblsan0 libmpx2 libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396
  libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396
  libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 libpciaccess0:i386 libquadmath0 libsensors4:i386
  libstdc++-7-dev libstdc++6:i386 libtinfo5:i386 libtsan0 libubsan0 libvdpau1 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
  libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxnvctrl0
  libxshmfence1:i386 libxxf86vm1:i386 linux-libc-dev make manpages-dev mesa-vdpau-drivers nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396
  nvidia-kernel-common-396 nvidia-kernel-source-396 nvidia-prime nvidia-settings nvidia-utils-396 pkg-config screen-resolution-extra vdpau-driver-all
  xserver-xorg-video-nvidia-396 zlib1g:i386
0 upgraded, 97 newly installed, 0 to remove and 22 not upgraded.
Need to get 145 MB of archives.
After this operation, 743 MB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 libnvidia-cfg1-396 amd64 396.24.10-0ubuntu0~gpu18.04.1 [71.7 kB]
....
....
myuser@srv:~$ sudo reboot

As you can see the nvidia 396 driver is going to be installed in our system. You can see all the additional (some of which are dependencies) packages to be installed.
After the reboot you should see something similar in your dmesg:

NVIDIA proprietary driver information

myuser@srv:~$ dmesg|grep -i nvidia
[    1.414268] nvidia: loading out-of-tree module taints kernel.
[    1.414273] nvidia: module license 'NVIDIA' taints kernel.
[    1.632334] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    1.639698] nvidia-nvlink: Nvlink Core is being initialized, major device number 236
[    1.640031] nvidia 0000:0a:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    1.640146] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  396.24.10  Tue Jul 10 10:00:18 PDT 2018 (using threaded interrupts)
[    1.647029] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  396.24.10  Tue Jul 10 08:53:56 PDT 2018
[    1.648372] [drm] [nvidia-drm] [GPU ID 0x00000a00] Loading driver
[    1.648373] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:0a:00.0 on minor 0
[   37.086767] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 511
[   37.761570] caller os_map_kernel_space.part.7+0xda/0x120 [nvidia] mapping multiple BARs
[   38.532918] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input16
[   38.532960] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input17
[   38.532996] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input18
[   38.533028] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input19
[   40.851562] caller os_map_kernel_space.part.7+0xda/0x120 [nvidia] mapping multiple BARs
[   41.205592] nvidia-modeset: Allocated GPU:0 (GPU-3bad60bf-8ff7-4cba-8b51-a931299a56d8) @ PCI:0000:0a:00.0

STEP 2) Install NVIDIA CUDA toolkit. As of writing this howto the CUDA 9.1 will be installed.

It depends on GNU GCC 6, but it will automatically pull it as dependencies (you can include it in the install command line as we did).

myuser@srv:~$ sudo apt install -y nvidia-cuda-toolkit gcc-6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  ca-certificates-java cpp-6 fonts-dejavu-extra g++-6 gcc-6-base java-common libaccinj64-9.1 libasan3 libatk-wrapper-java libatk-wrapper-java-jni libcublas9.1
  libcudart9.1 libcufft9.1 libcufftw9.1 libcuinj64-9.1 libcurand9.1 libcusolver9.1 libcusparse9.1 libdrm-dev libgcc-6-dev libgif7 libgl1-mesa-dev libglvnd-core-dev
  libglvnd-dev libnppc9.1 libnppial9.1 libnppicc9.1 libnppicom9.1 libnppidei9.1 libnppif9.1 libnppig9.1 libnppim9.1 libnppist9.1 libnppisu9.1 libnppitc9.1 libnpps9.1
  libnvblas9.1 libnvgraph9.1 libnvrtc9.1 libnvtoolsext1 libnvvm3 libopengl0 libpthread-stubs0-dev libstdc++-6-dev libthrust-dev libvdpau-dev libx11-dev libx11-doc
  libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev
  libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev nvidia-cuda-dev nvidia-cuda-doc
  nvidia-cuda-gdb nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-libopencl1 ocl-icd-opencl-dev opencl-c-headers openjdk-8-jre openjdk-8-jre-headless
  x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools
  xtrans-dev
Suggested packages:
  gcc-6-locales g++-6-multilib gcc-6-doc libstdc++6-6-dbg gcc-6-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan3-dbg liblsan0-dbg libtsan0-dbg
  libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg default-jre libstdc++-6-doc libvdpau-doc libxcb-doc libxext-doc libcupti-dev nvidia-driver libpoclu-dev
  icedtea-8-plugin fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei fonts-wqy-zenhei
Recommended packages:
  libnvcuvid1
The following NEW packages will be installed:
  ca-certificates-java cpp-6 fonts-dejavu-extra g++-6 gcc-6 gcc-6-base java-common libaccinj64-9.1 libasan3 libatk-wrapper-java libatk-wrapper-java-jni libcublas9.1
  libcudart9.1 libcufft9.1 libcufftw9.1 libcuinj64-9.1 libcurand9.1 libcusolver9.1 libcusparse9.1 libdrm-dev libgcc-6-dev libgif7 libgl1-mesa-dev libglvnd-core-dev
  libglvnd-dev libnppc9.1 libnppial9.1 libnppicc9.1 libnppicom9.1 libnppidei9.1 libnppif9.1 libnppig9.1 libnppim9.1 libnppist9.1 libnppisu9.1 libnppitc9.1 libnpps9.1
  libnvblas9.1 libnvgraph9.1 libnvrtc9.1 libnvtoolsext1 libnvvm3 libopengl0 libpthread-stubs0-dev libstdc++-6-dev libthrust-dev libvdpau-dev libx11-dev libx11-doc
  libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev
  libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev nvidia-cuda-dev nvidia-cuda-doc
  nvidia-cuda-gdb nvidia-cuda-toolkit nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-libopencl1 ocl-icd-opencl-dev opencl-c-headers openjdk-8-jre
  openjdk-8-jre-headless x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-xext-dev
  x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 90 newly installed, 0 to remove and 25 not upgraded.
Need to get 831 MB of archives.
After this operation, 2005 MB of additional disk space will be used.
Get:1 http://gb.archive.ubuntu.com/ubuntu bionic/main amd64 java-common all 0.63ubuntu1~02 [7032 B]
....
....

done.
done.

You can see all the extra packages you will get – 2G of space is needed and the NVIDIA CUDA 9.1 will be installed (along with GNU GCC 6).

Here you can verify everything is OK:

myuser@srv:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85
myuser@srv:~$ ldconfig -p | grep cuda
        libicudata.so.60 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.60
        libcudart.so.9.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so.9.1
        libcudart.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so
        libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
        libcuda.so.1 (libc6) => /usr/lib/i386-linux-gnu/libcuda.so.1
        libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so
        libcuda.so (libc6) => /usr/lib/i386-linux-gnu/libcuda.so
myuser@srv:~$ nvidia-smi 
Tue Jul 17 14:27:41 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.24.10              Driver Version: 396.24.10                 |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:0A:00.0  On |                  N/A |
|  0%   33C    P8    12W / 275W |    131MiB / 11173MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1696      G   /usr/lib/xorg/Xorg                            59MiB |
|    0      1745      G   /usr/bin/gnome-shell                          69MiB |
+-----------------------------------------------------------------------------+

Install NVIDIA proprietary drivers on Ubuntu 18.0 LTS (x86_64)

The new Ubuntu release is here and as usual it comes with nouveau kernel module for your NVIDIA GPU. Probably this driver is good for everyday office use, but if you like to play games you will need the proprietary driver from NVIDIA for sure! Here are the steps to install the official drivers from NVIDIA with the help of the unofficial community driven repository “Graphics Drivers” team. This is Personal Package Archives (PPA) repository!
DKMS is used for building the NVIDIA kernel module when a new kernel is installed. So you do not have to worry if you update your kernel.
Be careful as it is stated in the repository:

Important: The contents of Personal Package Archives are not checked or monitored. You install software from them at your own risk.

and

You can update your system with unsupported packages from this untrusted PPA by adding …

Still till now no major problems in this repository from its creation and if you just have a home computer and you are a novice in Ubuntu (linux) world you can use this approach of installing NVIDIA proprietary drivers. There is another way of installing the NVIDIA driver from an official source and we are going to cover it soon (coming soon).

STEP 1) Update your system.

Always do this step before installing new software or repositories!

myuser@srv:~$ sudo apt update -y

STEP 2) Add the new repository, which has the nvidia proprietary driver – ppa:graphics-drivers/ppa

myuser@srv:~$ sudo add-apt-repository -y ppa:graphics-drivers/ppa
Hit:1 http://gb.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:3 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic InRelease [21.3 kB]                     
Hit:4 http://gb.archive.ubuntu.com/ubuntu bionic-updates InRelease                                                   
Get:5 http://gb.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]                                       
Get:6 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 Packages [14.1 kB]  
Get:7 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main i386 Packages [13.1 kB]
Get:8 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main Translation-en [4644 B]       
Fetched 211 kB in 1s (302 kB/s)                     
Reading package lists... Done
myuser@srv:~$

STEP 3) Update and install the nvidia driver

As you can see we use a tool for installing drivers under Ubuntu:

ubuntu-drivers

which is part of this package “ubuntu-drivers-common” and it should be installed by default if missing just install it with apt (look below for more information).

myuser@srv:~$ sudo apt -y update
Hit:1 http://gb.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic InRelease
Get:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Hit:4 http://gb.archive.ubuntu.com/ubuntu bionic-updates InRelease                
Get:5 http://gb.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]    
Fetched 158 kB in 1s (273 kB/s)                                                                  
Reading package lists... Done
Building dependency tree       
Reading state information... Done
myuser@srv:~$ sudo ubuntu-drivers autoinstall
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  build-essential dkms dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-8-base:i386 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4
  libatomic1 libbsd0:i386 libc-dev-bin libc6:i386 libc6-dev libcilkrts5 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386
  libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libfakeroot libffi6:i386 libgcc-7-dev libgcc1:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
  libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libitm1 libllvm6.0:i386 liblsan0 libmpx2 libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396
  libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396
  libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 libpciaccess0:i386 libquadmath0 libsensors4:i386
  libstdc++-7-dev libstdc++6:i386 libtinfo5:i386 libtsan0 libubsan0 libvdpau1 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
  libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxnvctrl0
  libxshmfence1:i386 libxxf86vm1:i386 linux-libc-dev make manpages-dev mesa-vdpau-drivers nvidia-compute-utils-396 nvidia-dkms-396 nvidia-kernel-common-396
  nvidia-kernel-source-396 nvidia-prime nvidia-settings nvidia-utils-396 pkg-config screen-resolution-extra vdpau-driver-all xserver-xorg-video-nvidia-396
  zlib1g:i386
Suggested packages:
  menu debian-keyring g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg gcc-multilib autoconf automake libtool flex bison gcc-doc gcc-7-multilib
  gcc-7-locales libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg
  libquadmath0-dbg glibc-doc:i386 locales:i386 glibc-doc lm-sensors:i386 libstdc++-7-doc make-doc libvdpau-va-gl1 nvidia-vdpau-driver
  nvidia-legacy-340xx-vdpau-driver
The following NEW packages will be installed:
  build-essential dkms dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-8-base:i386 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4
  libatomic1 libbsd0:i386 libc-dev-bin libc6:i386 libc6-dev libcilkrts5 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386
  libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libfakeroot libffi6:i386 libgcc-7-dev libgcc1:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386
  libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libitm1 libllvm6.0:i386 liblsan0 libmpx2 libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396
  libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396
  libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 libpciaccess0:i386 libquadmath0 libsensors4:i386
  libstdc++-7-dev libstdc++6:i386 libtinfo5:i386 libtsan0 libubsan0 libvdpau1 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
  libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxnvctrl0
  libxshmfence1:i386 libxxf86vm1:i386 linux-libc-dev make manpages-dev mesa-vdpau-drivers nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396
  nvidia-kernel-common-396 nvidia-kernel-source-396 nvidia-prime nvidia-settings nvidia-utils-396 pkg-config screen-resolution-extra vdpau-driver-all
  xserver-xorg-video-nvidia-396 zlib1g:i386
0 upgraded, 97 newly installed, 0 to remove and 22 not upgraded.
Need to get 145 MB of archives.
After this operation, 743 MB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 libnvidia-cfg1-396 amd64 396.24.10-0ubuntu0~gpu18.04.1 [71.7 kB]
....
....
myuser@srv:~$ sudo reboot

As you can see the nvidia 396 driver is going to be installed in our system. We included part of the output – the packages, which will be installed. When the setup is ready reboot your system to load the newly installed driver.

NVIDIA proprietary driver information

myuser@srv:~$ dmesg|grep -i nvidia
[    1.414268] nvidia: loading out-of-tree module taints kernel.
[    1.414273] nvidia: module license 'NVIDIA' taints kernel.
[    1.632334] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    1.639698] nvidia-nvlink: Nvlink Core is being initialized, major device number 236
[    1.640031] nvidia 0000:0a:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    1.640146] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  396.24.10  Tue Jul 10 10:00:18 PDT 2018 (using threaded interrupts)
[    1.647029] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  396.24.10  Tue Jul 10 08:53:56 PDT 2018
[    1.648372] [drm] [nvidia-drm] [GPU ID 0x00000a00] Loading driver
[    1.648373] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:0a:00.0 on minor 0
[   37.086767] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 511
[   37.761570] caller os_map_kernel_space.part.7+0xda/0x120 [nvidia] mapping multiple BARs
[   38.532918] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input16
[   38.532960] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input17
[   38.532996] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input18
[   38.533028] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input19
[   40.851562] caller os_map_kernel_space.part.7+0xda/0x120 [nvidia] mapping multiple BARs
[   41.205592] nvidia-modeset: Allocated GPU:0 (GPU-3bad60bf-8ff7-4cba-8b51-a931299a56d8) @ PCI:0000:0a:00.0
myuser@srv:~$ nvidia-smi 
Mon Jul 16 15:32:06 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.24.10              Driver Version: 396.24.10                 |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:0A:00.0  On |                  N/A |
|  0%   53C    P0    69W / 275W |    271MiB / 11173MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2143      G   /usr/lib/xorg/Xorg                            18MiB |
|    0      2193      G   /usr/bin/gnome-shell                          13MiB |
|    0      3593      G   /usr/lib/xorg/Xorg                           108MiB |
|    0      3695      G   /usr/bin/gnome-shell                         123MiB |
|    0      5052      G   nvidia-settings                                3MiB |
+-----------------------------------------------------------------------------+

main menu
nvidia-settings general information

main menu
nvidia-settings for 1080Ti

nouveau driver and vainfo information

myuser@srv:~$ lspci|grep -i nvidia
0a:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
0a:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
myuser@srv:~$ dmesg|grep -i nvidia
[    1.617118] nouveau 0000:0a:00.0: NVIDIA GP102 (132000a1)
[   40.077131] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input16
[   40.077194] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input17
[   40.077234] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input18
[   40.077282] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.1/0000:0a:00.1/sound/card0/input19
myuser@srv:~$ sudo apt -y install vainfo mesa-utils
myuser@srv:~$ vainfo 
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: mesa gallium vaapi
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc

Troubleshooting – missing “ubuntu-drivers” in your system just install it with:

myuser@srv:~$ sudo apt install -y ubuntu-drivers-common

Install openssh (sshd) server in Ubuntu 18.04 LTS

Yes, new major system upgrade new rules. If you’ve installed openssh server till Ubuntu 18 (Bionic Beaver) with just the simple command:

myuser@srv:~$ sudo apt-get install -y openssh-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package openssh-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'openssh-server' has no installation candidate
myuser@srv:~$

Now it is impossible as you can see. It is strange why they just did not include it as an alias just to prevent you from searching the Net (google?).

So there is a new way of installing OpenSSH server – it is a software collection called “OpenSSH server” and there is a new tool to manage such collections:

tasksel

So you must use tasksel to install OpenSSH server, here is the three command you should use:

sudo apt update
sudo apt install tasksel
sudo tasksel install openssh-server

And their explanation below in steps:

STEP 1) Update your server!

Because you could miss tasksel, it is not installed by default and even after clean install it seems not available before you do an update:

myuser@srv:~$ sudo apt update

STEP 2) Install tasksel

myuser@srv:~$ sudo apt install tasksel

STEP 3) Install OpenSSH server with tasksel

You are going to enter an console based graphic setup showing you the installation of the software collection “OpenSSH server”

myuser@srv:~$ sudo tasksel install openssh-server

Here is what is going to see after the above command:

main menu
tasksel installs openssh-sftp-server

main menu
tasksel installs openssh-server

* Throubleshooting – no tasksel packet!

Just DO NOT skip STEP 1) – update your package lists!!!

myuser@srv:~$ sudo apt install tasksel
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package tasksel

* All of the output

Install Ubuntu Desktop 18.04 LTS on a PC with existing windows 10 and linux

This tutorial will show you the simple steps of installing a modern Linux Distribution – Ubuntu Desktop 18.04 LTS. Here we present the more advanced setup installation, when you have already had installed operating systems, so this installation will add Ubuntu 18.04 LTS to our two existing ones – Microsoft Windows 10 Professional and Fedora Workstation 28. So we have 3 hard disks – one is NVME, the other two are SSDs and we want to install our Ubuntu 18.04 to the first disk – “sda” in this case. Our first SSD has two partitions, which we will remove and make new disk layout for the Ubuntu installation with three partitions.
Ubuntu Desktop 18.04 LTS comes with the following software:

  • Xorg X server – 1.19.6
  • GNOME (the GUI) – 3.28.1
  • linux kernel – 4.15.0
  • linux-firmware – 1.173
  • QT – 5.9.5
  • libc – 2.27
  • gnu gcc – 7.3.0
  • coreutils – 8.28
  • python2.7 (default) – 2.7.15
  • python3 – 3.6.5
  • perl – 5.26.1
  • apt – 1.6.1
  • cups – 2.2.7

We used the following ISO for the installation process – Ubuntu 18.04 LTS (Bionic Beaver):

http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso

It is a LIVE image so you can try it before installing. The easiest way is just to download the image and burn it to a DVD disk and then follow the installation below:

STEP 1) Change to “Install Ubuntu” and hit enter.

To install Ubuntu from your DVD or USB you must boot from it, so change your BIOS accordingly – first boot devide should be the DVD or USB drive with Ubunto installation. If you do it successfully you would see the screenshot below.

main menu
Install Ubuntu grub option

Keep on reading!

Install Ubuntu 16.04 LTS on a PC with existing windows 10 and linux

This tutorial will show you the simple steps of installing a modern Linux Distribution – Ubuntu Desktop 16.04 LTS (in fact the version presented here is 16.04.4 Desktop LTS). Here we present the more advanced setup installation, when you have already had installed operating systems, so this installation will add Ubuntu 16.04 LTS to our two existing ones – Microsoft Windows 10 Professional and Ubuntu 17.10. So we have 4 disks – one is NVME, the other three are SSDs and we want to install our Ubuntu 16.04 to the third disk – “sdc” in this case. Our third SSD do not have partitions or any data, so we can use the whole device.
Ubuntu Desktop 16.04 LTS comes with the following software:

  • Xorg X server – 1.19.5
  • unity (the GUI) – 7.4.5
  • linux kernel – 4.13.0
  • linux-firmware – 1.157.17
  • QT – 5.5.1
  • libc – 2.23
  • gnu gcc – 5.4.0
  • coreutils – 8.25
  • python2.7 (default) – 2.7.12
  • python3 – 3.5.1
  • perl – 5.22.1
  • compiz – 0.9.12.3
  • apt – 1.2.25
  • cups – 2.1.3

We used the following ISO for the installation process – Ubuntu 16.04.4 LTS (Xenial Xerus):

http://releases.ubuntu.com/16.04/ubuntu-16.04.4-desktop-amd64.iso

It is a LIVE image so you can try it before installing. The easiest way is just to download the image and burn it to a DVD disk and then follow the installation below:

STEP 1) Change to “Install Ubuntu” and hit enter.

To install Ubuntu from your DVD or USB you must boot from it, so change your BIOS accordingly – first boot devide should be the DVD or USB drive with Ubunto installation. If you do it successfully you would see the screenshot below.

main menu
Install Ubuntu grub option

Keep on reading!

Running a Electroneum node from source under Ubuntu 16 LTS

This howto is made to show you how to run a Electroneum node. To run a Electroneum node we need the official electroneum daemon software:

electroneumd

which will start and wait for the network synchronization – our Electroneum node will receive all the blockchains of the network!
Installing (or compiling it) the Electroneum software of the official site will ensure you have the right software for generating and sending/receiving transactions securely and privately! Always use your node software for generating the Electroneum wallet address, DO NOT TRUST any sites, which offer you a creation of Electroneum wallet or any other crypto currency. In crypto world the one how controls the private key of the wallet (which is generated with the creation of the wallet) controls the Electroneum wallet address so controls your funds! Just Install or compile a Electroneum node software – Building from source a Electroneum node under Ubuntu 16 LTS and you’ll everything you need to manage your Electroneum funds!
It’s worth mentioning again this section of Electroneum node howto (if you read other howtos for running a node you would probably read it, but it so important we include it in every howto!!!):
And also be warned DO NOT use insecure sources when:

  1. installing Ubuntu, install it from a cd/dvd/usb downloaded from the official Ubuntu site here.
  2. installing all the needed dependencies from official sources only, not recommended the PPA reposigories, neither!
  3. install yourself the “electroneumd” program (the official Electroneum software), which will create a Electroneum node and after network synchronization could be used to create a Electroneum node.

Three simple rules could almost eliminate leaking your private key to hackers, which in blockchain world means losing your money…
And before start the installation a performance advice:

USE SSD

Technically with Electroneum node you can still use hard drive, but it is slow, but not impossible as some of the older crypto currencies like Ethereum, Bitcoin, Monero and so on.

STEP 1) Install Ubuntu 16 – our howto will be available soon here.

STEP 2) Building from source a Electroneum node

Check out our howto “Building from source a Electroneum node under Ubuntu 16 LTS“.

STEP 3) Start the Electroneum node

if you have followed the howto in STEP 2) you probably have “electroneumd” installed in “~/electroneum/build/release/bin”, so run it with:

ubuntu@srv.local:~/electroneum/build/release/bin$ ./electroneumd &> ./electroneumd.log

It is a good practice to run it with screen and in an infinite loop – if the program crashes it will start automatically and you’ll always have a synchronized node, of course, if you do not need a Electroneum node running all the time the infinite loop is not needed. The user could just start the node, wait for synchronization and then make your transactions and stop the node, after several days you can start it up the catching up the synchronization won’t take much time:

ubuntu@srv.local:~$ screen -R electroneum
ubuntu@srv.local:~$ cd electroneum/build/release/bin
ubuntu@srv.local:~/electroneum/build/release/bin$ while true; do ./electroneumd &> ./electroneumd.log;done

STEP 3) Wait for the blockchain network synchronization

This step could take significant amount of time, server resources and network bandwidth! USE SSD(s) for your home directory, because the blockchain database will be saved at your

home directory/.electroneum/

If you want to move it on another server or directory (or device) you must copy this directory to the new location.
The generated IO is so extensive that for a traditional hard drive probably will be difficult to catch up with the synchronization.
When you run “electroneumd” it will check the current state of the network and the current state of your Electroneum node, so no matter it is started for the first time or not a network synchronization is needed, your node need to be synchronized with the Electroneum network to be used for all kind of actions in the network (create a wallet, transfer funds and more).
Here is the output of just started Electroneum node:

ubuntu@ip-172-31-9-41:~$ head -n 1000 electroneum/build/release/bin/electroneumd.log
2018-04-24 08:29:43.963     7f0862635740        INFO    global  src/daemon/main.cpp:280 Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e)
2018-04-24 08:29:43.963     7f0862635740        INFO    global  src/daemon/protocol.h:56        Initializing cryptonote protocol...
2018-04-24 08:29:43.963     7f0862635740        INFO    global  src/daemon/protocol.h:61        Cryptonote protocol initialized OK
2018-04-24 08:29:43.963     7f0862635740        INFO    global  src/daemon/p2p.h:64     Initializing p2p server...
2018-04-24 08:29:48.066     7f0862635740        INFO    global  src/daemon/p2p.h:69     P2p server initialized OK
2018-04-24 08:29:48.066     7f0862635740        INFO    global  src/daemon/rpc.h:59     Initializing core rpc server...
2018-04-24 08:29:48.066     7f0862635740        INFO    global  contrib/epee/include/net/http_server_impl_base.h:70     Binding on 127.0.0.1:26968
2018-04-24 08:29:48.066     7f0862635740        INFO    global  src/daemon/rpc.h:64     Core rpc server initialized OK on port: 26968
2018-04-24 08:29:48.067     7f0862635740        INFO    global  src/daemon/core.h:74    Initializing core...
2018-04-24 08:29:48.067     7f0862635740        INFO    global  src/cryptonote_core/cryptonote_core.cpp:324     Loading blockchain from folder /home/ubuntu/.electroneum/lmdb ...
2018-04-24 08:29:48.067     7f0862635740        WARN    blockchain.db.lmdb      src/blockchain_db/lmdb/db_lmdb.cpp:73   Error attempting to retrieve a hard fork version at height 0 from the db: MDB_NOTFOUND: No matching key/data pair found
2018-04-24 08:29:48.134     7f0862635740        INFO    global  src/cryptonote_core/cryptonote_core.cpp:422     Loading checkpoints
2018-04-24 08:29:48.261     7f0862635740        INFO    global  src/daemon/core.h:79    Core initialized OK
2018-04-24 08:29:48.261     7f0862635740        INFO    global  src/daemon/rpc.h:69     Starting core rpc server...
2018-04-24 08:29:48.261 [SRV_MAIN]      INFO    global  src/daemon/rpc.h:74     Core rpc server started ok
2018-04-24 08:29:48.261 [SRV_MAIN]      INFO    global  src/daemon/p2p.h:79     Starting p2p net loop...
2018-04-24 08:29:49.262 [P2P2]  INFO    global  src/cryptonote_core/cryptonote_core.cpp:1259
**********************************************************************
The daemon will start synchronizing with the network. This may take a long time to complete.

You can set the level of process detailization* through "set_log <level|categories>" command*,
where <level> is between 0 (no details) and 4 (very verbose), or custom category based levels (eg, *:WARNING)

Use the "help" command to see the list of available commands.
**********************************************************************

2018-04-24 08:30:23.375 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:303     [104.128.238.120:26967 OUT] Sync data returned a new top block candidate: 1 -> 255580 [Your node is 255579 blocks (177 days) behind] 
SYNCHRONIZATION started
2018-04-24 08:30:26.448 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [104.128.238.120:26967 OUT]  Synced 101/255580
2018-04-24 08:30:27.820 [P2P5]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [104.128.238.120:26967 OUT]  Synced 201/255580
2018-04-24 08:30:29.107 [P2P9]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [104.128.238.120:26967 OUT]  Synced 301/255580
2018-04-24 08:30:30.378 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [104.128.238.120:26967 OUT]  Synced 401/255580
2018-04-24 08:30:31.673 [P2P5]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [104.128.238.120:26967 OUT]  Synced 501/255580
2018-04-24 08:30:33.064 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [104.128.238.120:26967 OUT]  Synced 601/255580
2018-04-24 08:30:40.652 [P2P5]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [104.128.238.120:26967 OUT]  Synced 701/255580
2018-04-24 08:30:41.899 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:303     [81.187.158.83:26967 OUT] Sync data returned a new top block candidate: 701 -> 255581 [Your node is 254880 blocks (177 days) behind] 
SYNCHRONIZATION started
2018-04-24 08:30:50.515 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 801/255581
2018-04-24 08:30:54.798 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 901/255581
2018-04-24 08:30:57.647 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1001/255581
2018-04-24 08:31:01.556 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1101/255581
2018-04-24 08:31:06.832 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1201/255581
2018-04-24 08:31:11.527 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1301/255581
2018-04-24 08:31:15.665 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1401/255581
2018-04-24 08:31:16.453 [P2P1]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:303     [85.233.33.46:26967 OUT] Sync data returned a new top block candidate: 1401 -> 255582 [Your node is 254181 blocks (176 days) behind] 
SYNCHRONIZATION started
2018-04-24 08:31:18.632 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1501/255582
2018-04-24 08:31:19.491 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1601/255582
2018-04-24 08:31:20.650 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1701/255582
2018-04-24 08:31:22.308 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1801/255582
2018-04-24 08:31:23.548 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 1901/255582
2018-04-24 08:31:26.141 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 2001/255582
2018-04-24 08:31:27.320 [P2P8]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [216.244.77.114:26967 OUT]  Synced 2101/255582
.....
.....
.....
2018-04-24 21:46:18.051 [P2P9]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [162.218.114.202:26967 OUT]  Synced 256416/256416
2018-04-24 21:46:18.051 [P2P9]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1519    SYNCHRONIZED OK
2018-04-24 21:46:18.051 [P2P9]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1541
**********************************************************************
You are now synchronized with the network. You may now start electroneum-wallet-cli.

Use the "help" command to see the list of available commands.
**********************************************************************
2018-04-24 21:46:19.858 [P2P3]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:579  [batch] DB resize needed
2018-04-24 22:01:55.769 [P2P3]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:495  LMDB Mapsize increased.  Old: 22859MiB, New: 23883MiB
2018-04-24 22:01:55.771 [P2P3]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:579  [batch] DB resize needed
2018-04-24 22:05:03.853 [P2P3]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:495  LMDB Mapsize increased.  Old: 23883MiB, New: 24907MiB
2018-04-24 22:05:03.901 [P2P5]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:579  [batch] DB resize needed
2018-04-24 22:05:03.901 [P2P5]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:495  LMDB Mapsize increased.  Old: 24907MiB, New: 25931MiB
2018-04-24 22:05:03.942 [P2P9]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:579  [batch] DB resize needed
2018-04-24 22:05:03.943 [P2P9]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:495  LMDB Mapsize increased.  Old: 25931MiB, New: 26955MiB
2018-04-24 22:05:03.943 [P2P9]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:579  [batch] DB resize needed
2018-04-24 22:05:03.944 [P2P9]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:495  LMDB Mapsize increased.  Old: 26955MiB, New: 27979MiB
2018-04-24 22:05:04.032 [P2P4]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:579  [batch] DB resize needed
2018-04-24 22:05:04.033 [P2P4]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:495  LMDB Mapsize increased.  Old: 27979MiB, New: 29003MiB
2018-04-24 22:05:04.114 [P2P9]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:579  [batch] DB resize needed
2018-04-24 22:05:04.115 [P2P9]  INFO    global  src/blockchain_db/lmdb/db_lmdb.cpp:495  LMDB Mapsize increased.  Old: 29003MiB, New: 30027MiB
2018-04-24 22:05:08.452 [P2P5]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:303     [91.224.140.211:21200 OUT] Sync data returned a new top block candidate: 256417 -> 256438 [Your node is 21 blocks (0 days) behind] 
SYNCHRONIZATION started
2018-04-24 22:05:18.547 [P2P0]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152    [91.224.140.211:21200 OUT]  Synced 256438/256438
2018-04-24 22:05:18.547 [P2P0]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1519    SYNCHRONIZED OK
2018-04-24 22:54:05.918 [P2P0]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1519    SYNCHRONIZED OK

There is also a log of all the output of the “electroneumd” under the “~/.electroneum/electroneum.log”.

“~/.electroneum/” is where all the data will be saved for the Electroneum node

You can see when your Electroneum node is fully synchronized and you may use the “electroneum-wallet-cli”.

As you can see we redirected the output of the program in a file in the same directory as “electroneumd”. The default output is informative here is what we can see about the blockchain syncronization:

  • how many blockchains we are behind the Electroneum network – “Sync data returned a new top block candidate: 1401 -> 255582”
  • how many days we are behind the Electroneum network – “Your node is 254181 blocks (176 days) behind”

At present with SSD and 16G RAM on a intel i7 processor and a fast Internet connection 100Mbps the full synchronization took about 12 hours and 18G of storage space.
After a successful full synchronization, in the log you’ll have:

You are now synchronized with the network.

and you are ready to use “electroneum-wallet-cli” or the others program to manage your funds – for example send, receive, check balance of your funds.
If you stop and start the program it will start the synchronization from the point you stopped.

Building from source a Electroneum node under Ubuntu 16 LTS

The program, which makes an Electroneum node from your computer, is called

electroneumd

You need a electroneum node to send, receive coins securely and privately and to maintain your wallet personally. DO IT YOURSELF – the most secure way of generating a electroneum wallet address and making transactions such as send and receive coins. As you usual here you’ll see: do not trust any site for generating an electroneum wallet address, use the official tools from this package to generate your addresses and to send and receive coins!
Sometimes you’ll see an easy way of installing the node such as a snap package or docker imagedo not trust them! Most of the time they are unofficial releases or 3rd party releases – trust only to the official site and repository all other packages our there bring more risk than features.

STEP 1) Update your system and install dependencies

sudo apt-get update -y
sudo apt-get -y upgrade
sudo apt-get install -y build-essential cmake pkg-config libboost-all-dev libssl-dev libunbound-dev libminiupnpc-dev libunwind8-dev liblzma-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz

STEP 2) Get the “electroneumd” code and compile it

You could change to stable release (probably the last tag) if you like.

git clone https://github.com/electroneum/electroneum
cd electroneum
export CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe"
export CXXFLAGS="${CFLAGS}"
export CHOST="x86_64-pc-linux-gnu"
make

STEP 3) Check is everything is OK, installed electroneumd – Electroneum ‘Helium Hydra’

ls command shows the additional programs in the package.

srv@local:~/electroneum$ cd ./build/release/bin
srv@local:~/electroneum/build/release/bin$ ./electroneumd --version
Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e)
srv@local:~/electroneum/build/release/bin$ ls 
electroneum-blockchain-export  electroneum-blockchain-import  electroneum-wallet-cli  electroneum-wallet-rpc  electroneumd

Most used programs are electroneumd and electroneum-wallet-cli, which offers a command line management of a electroneum wallet addresses.

* Here is the help output of “electroneumd” – the Electroneum node daemon:

srv@local:~/electroneum/build/release/bin$ ./electroneumd --help
./electroneumd --help
Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e)

Usage: ./electroneumd [options|settings] [daemon_command...]

Options:
  --help                                Produce help message
  --version                             Output version information
  --os-version                          OS for which this executable was 
                                        compiled
  --config-file arg (=/home/ubuntu/.electroneum/electroneum.conf)
                                        Specify configuration file
  --test-dbg-lock-sleep arg (=0)        Sleep time in ms, defaults to 0 (off), 
                                        used to debug before/after locking 
                                        mutex. Values 100 to 1000 are good for 
                                        tests.
  --detach                              Run as daemon
  --pidfile arg                         File path to write the daemon's PID to 
                                        (optional, requires --detach)
  --non-interactive                     Run non-interactive

Settings:
  --log-file arg (=/home/ubuntu/.electroneum/electroneum.log)
                                        Specify log file
  --log-level arg
  --max-concurrency arg (=0)            Max number of threads to use for a 
                                        parallel job
  --data-dir arg (=/home/ubuntu/.electroneum)
                                        Specify data directory
  --testnet-data-dir arg (=/home/ubuntu/.electroneum/testnet)
                                        Specify testnet data directory
  --test-drop-download                  For net tests: in download, discard ALL
                                        blocks instead checking/saving them 
                                        (very fast)
  --test-drop-download-height arg (=0)  Like test-drop-download but disards 
                                        only after around certain height
  --testnet                             Run on testnet. The wallet must be 
                                        launched with --testnet flag.
  --enforce-dns-checkpointing           checkpoints from DNS server will be 
                                        enforced
  --db-type arg (=lmdb)                 Specify database type, available: lmdb
  --prep-blocks-threads arg (=4)        Max number of threads to use when 
                                        preparing block hashes in groups.
  --fast-block-sync arg (=1)            Sync up most of the way by using 
                                        embedded, known block hashes.
  --db-sync-mode arg (=fast:async:1000) Specify sync option, using format 
                                        [safe|fast|fastest]:[sync|async]:[nbloc
                                        ks_per_sync].
  --db-salvage                          Try to salvage a blockchain database if
                                        it seems corrupted
  --show-time-stats arg (=0)            Show time-stats when processing 
                                        blocks/txs and disk synchronization.
  --block-sync-size arg (=0)            How many blocks to sync at once during 
                                        chain synchronization (0 = adaptive).
  --check-updates arg (=notify)         Check for new versions of electroneum: 
                                        [disabled|notify|download|update]
  --fluffy-blocks                       Relay blocks as fluffy blocks where 
                                        possible (automatic on testnet)
  --testnet-p2p-bind-port arg (=36967)  Port for testnet p2p network protocol
  --p2p-bind-port arg (=26967)          Port for p2p network protocol
  --extra-messages-file arg             Specify file for extra messages to 
                                        include into coinbase transactions
  --start-mining arg                    Specify wallet address to mining for
  --mining-threads arg                  Specify mining threads count
  --bg-mining-enable                    enable/disable background mining
  --bg-mining-ignore-battery            if true, assumes plugged in when unable
                                        to query system power status
  --bg-mining-min-idle-interval arg     Specify min lookback interval in 
                                        seconds for determining idle state
  --bg-mining-idle-threshold arg        Specify minimum avg idle percentage 
                                        over lookback interval
  --bg-mining-miner-target arg          Specificy maximum percentage cpu use by
                                        miner(s)
  --p2p-bind-ip arg (=0.0.0.0)          Interface for p2p network protocol
  --p2p-external-port arg (=0)          External port for p2p network protocol 
                                        (if port forwarding used with NAT)
  --allow-local-ip                      Allow local ip add to peer list, mostly
                                        in debug purposes
  --add-peer arg                        Manually add peer to local peerlist
  --add-priority-node arg               Specify list of peers to connect to and
                                        attempt to keep the connection open
  --add-exclusive-node arg              Specify list of peers to connect to 
                                        only. If this option is given the 
                                        options add-priority-node and seed-node
                                        are ignored
  --seed-node arg                       Connect to a node to retrieve peer 
                                        addresses, and disconnect
  --hide-my-port                        Do not announce yourself as peerlist 
                                        candidate
  --no-igd                              Disable UPnP port mapping
  --offline                             Do not listen for peers, nor connect to
                                        any
  --out-peers arg (=-1)                 set max number of out peers
  --tos-flag arg (=-1)                  set TOS flag
  --limit-rate-up arg (=-1)             set limit-rate-up [kB/s]
  --limit-rate-down arg (=-1)           set limit-rate-down [kB/s]
  --limit-rate arg (=-1)                set limit-rate [kB/s]
  --save-graph                          Save data for dr electroneum
  --rpc-bind-port arg (=26968)          Port for RPC server
  --testnet-rpc-bind-port arg (=36968)  Port for testnet RPC server
  --restricted-rpc                      Restrict RPC to view only commands
  --rpc-bind-ip arg (=127.0.0.1)        Specify ip to bind rpc server
  --rpc-login arg                       Specify username[:password] required 
                                        for RPC server
  --confirm-external-bind               Confirm rpc-bind-ip value is NOT a 
                                        loopback (local) IP

* Here is the help output of “electroneum-wallet-cli” – the cli management tool for Electroneum wallet address

srv@local:~/electroneum/build/release/bin$ ./electroneum-wallet-cli --help
Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e)

This is the command line electroneum wallet. It needs to connect to a electroneum
daemon to work correctly.

Usage:
  electroneum-wallet-cli [--wallet-file=<file>|--generate-new-wallet=<file>] [<COMMAND>]

General options:
  --help                              Produce help message
  --version                           Output version information

Wallet options:
  --daemon-address arg                Use daemon instance at <host>:<port>
  --daemon-host arg                   Use daemon instance at host <arg> instead
                                      of localhost
  --password arg                      Wallet password (escape/quote as needed)
  --password-file arg                 Wallet password file
  --daemon-port arg (=0)              Use daemon instance at port <arg> instead
                                      of 18081
  --daemon-login arg                  Specify username[:password] for daemon 
                                      RPC client
  --testnet                           For testnet. Daemon must also be launched
                                      with --testnet flag
  --restricted-rpc                    Restricts to view-only commands
  --wallet-file arg                   Use wallet <arg>
  --generate-new-wallet arg           Generate new wallet and save it to <arg>
  --generate-from-view-key arg        Generate incoming-only wallet from view 
                                      key
  --generate-from-keys arg            Generate wallet from private keys
  --generate-from-multisig-keys arg   Generate a master wallet from multisig 
                                      wallet keys
  --generate-from-json arg            Generate wallet from JSON format file
  --mnemonic-language arg             Language for mnemonic
  --command arg
  --restore-deterministic-wallet      Recover wallet using Electrum-style 
                                      mnemonic seed
  --non-deterministic                 Create non-deterministic view and spend 
                                      keys
  --electrum-seed arg                 Specify Electrum seed for wallet 
                                      recovery/creation
  --trusted-daemon                    Enable commands which rely on a trusted 
                                      daemon
  --allow-mismatched-daemon-version   Allow communicating with a daemon that 
                                      uses a different RPC version
  --restore-height arg (=0)           Restore from specific blockchain height
  --log-file arg                      Specify log file
  --log-level arg                     0-4 or categories
  --max-concurrency arg (=0)          Max number of threads to use for a 
                                      parallel job
  --config-file arg                   Config file

* Here is the output of the building process

srv@local:~$ sudo apt-get -y update
...
srv@local:~$ sudo apt-get -y upgrade
...
srv@local:~$ sudo apt-get install -y build-essential cmake pkg-config libboost-all-dev libssl-dev libunbound-dev libminiupnpc-dev libunwind8-dev liblzma-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  autotools-dev binutils cmake-data cpp cpp-5 dpkg-dev fakeroot fontconfig fontconfig-config fonts-dejavu-core fonts-liberation g++ g++-5 gcc
  gcc-5 icu-devtools libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libarchive13 libasan2 libatomic1
  libboost-atomic-dev libboost-atomic1.58-dev libboost-atomic1.58.0 libboost-chrono-dev libboost-chrono1.58-dev libboost-chrono1.58.0
  libboost-context-dev libboost-context1.58-dev libboost-context1.58.0 libboost-coroutine-dev libboost-coroutine1.58-dev
  libboost-coroutine1.58.0 libboost-date-time-dev libboost-date-time1.58-dev libboost-date-time1.58.0 libboost-dev libboost-exception-dev
  libboost-exception1.58-dev libboost-filesystem-dev libboost-filesystem1.58-dev libboost-filesystem1.58.0 libboost-graph-dev
  libboost-graph-parallel-dev libboost-graph-parallel1.58-dev libboost-graph-parallel1.58.0 libboost-graph1.58-dev libboost-graph1.58.0
  libboost-iostreams-dev libboost-iostreams1.58-dev libboost-iostreams1.58.0 libboost-locale-dev libboost-locale1.58-dev
  libboost-locale1.58.0 libboost-log-dev libboost-log1.58-dev libboost-log1.58.0 libboost-math-dev libboost-math1.58-dev libboost-math1.58.0
  libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.58-dev libboost-mpi-python1.58.0 libboost-mpi1.58-dev libboost-mpi1.58.0
  libboost-program-options-dev libboost-program-options1.58-dev libboost-program-options1.58.0 libboost-python-dev libboost-python1.58-dev
  libboost-python1.58.0 libboost-random-dev libboost-random1.58-dev libboost-random1.58.0 libboost-regex-dev libboost-regex1.58-dev
  libboost-regex1.58.0 libboost-serialization-dev libboost-serialization1.58-dev libboost-serialization1.58.0 libboost-signals-dev
  libboost-signals1.58-dev libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev libboost-system1.58.0 libboost-test-dev
  libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev
  libboost-timer1.58-dev libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev
  libboost1.58-tools-dev libc-dev-bin libc6-dev libcairo2 libcc1-0 libcdt5 libcgraph6 libcilkrts5 libclang1-3.6 libcurl3 libdatrie1
  libdpkg-perl libfakeroot libfile-fcntllock-perl libfontconfig1 libgcc-5-dev libgd3 libgomp1 libgraphite2-3 libgvc6 libgvpr2 libharfbuzz0b
  libhwloc-dev libhwloc-plugins libhwloc5 libibverbs-dev libibverbs1 libice6 libicu-dev libisl15 libitm1 libjbig0 libjpeg-turbo8 libjpeg8
  libjsoncpp1 libldns1 libllvm3.6v5 liblsan0 libltdl-dev libltdl7 libminiupnpc10 libmpc3 libmpx0 libnuma-dev libobjc-5-dev libobjc4
  libopenmpi-dev libopenmpi1.10 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpathplan4 libpciaccess0 libpixman-1-0 libpython-dev
  libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libquadmath0 libsm6 libssl-doc libstdc++-5-dev
  libthai-data libthai0 libtiff5 libtool libtsan0 libubsan0 libunbound2 libunwind-dev libunwind8 libvpx3 libxaw7 libxcb-render0 libxcb-shm0
  libxmu6 libxpm4 libxrender1 libxt6 linux-libc-dev make manpages-dev mpi-default-bin mpi-default-dev ocl-icd-libopencl1 openmpi-bin
  openmpi-common python python-dev python-minimal python2.7 python2.7-dev python2.7-minimal x11-common zlib1g-dev
Suggested packages:
  binutils-doc codeblocks eclipse ninja-build cpp-doc gcc-5-locales doxygen-latex doxygen-doc doxygen-gui debian-keyring g++-multilib
  g++-5-multilib gcc-5-doc libstdc++6-5-dbg gcc-multilib autoconf automake flex bison gdb gcc-doc gcc-5-multilib libgcc1-dbg libgomp1-dbg
  libitm1-dbg libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg gsfonts
  graphviz-doc lrzip libboost-doc libboost1.58-doc gccxml libmpfrc++-dev libntl-dev xsltproc docbook-xml docbook-xsl default-jdk fop
  glibc-doc libgd-tools libhwloc-contrib-plugins icu-doc libtool-doc liblzma-doc minissdpd opennmpi-doc libstdc++-5-doc automaken gfortran
  | fortran95-compiler gcj-jdk make-doc opencl-icd gfortran openmpi-checkpoint python-doc python-tk python2.7-doc binfmt-support
The following NEW packages will be installed:
  autotools-dev binutils build-essential cmake cmake-data cpp cpp-5 doxygen dpkg-dev fakeroot fontconfig fontconfig-config fonts-dejavu-core
  fonts-liberation g++ g++-5 gcc gcc-5 graphviz icu-devtools libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libarchive13 libasan2 libatomic1 libboost-all-dev libboost-atomic-dev libboost-atomic1.58-dev libboost-atomic1.58.0 libboost-chrono-dev
  libboost-chrono1.58-dev libboost-chrono1.58.0 libboost-context-dev libboost-context1.58-dev libboost-context1.58.0 libboost-coroutine-dev
  libboost-coroutine1.58-dev libboost-coroutine1.58.0 libboost-date-time-dev libboost-date-time1.58-dev libboost-date-time1.58.0 libboost-dev
  libboost-exception-dev libboost-exception1.58-dev libboost-filesystem-dev libboost-filesystem1.58-dev libboost-filesystem1.58.0
  libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.58-dev libboost-graph-parallel1.58.0 libboost-graph1.58-dev
  libboost-graph1.58.0 libboost-iostreams-dev libboost-iostreams1.58-dev libboost-iostreams1.58.0 libboost-locale-dev libboost-locale1.58-dev
  libboost-locale1.58.0 libboost-log-dev libboost-log1.58-dev libboost-log1.58.0 libboost-math-dev libboost-math1.58-dev libboost-math1.58.0
  libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.58-dev libboost-mpi-python1.58.0 libboost-mpi1.58-dev libboost-mpi1.58.0
  libboost-program-options-dev libboost-program-options1.58-dev libboost-program-options1.58.0 libboost-python-dev libboost-python1.58-dev
  libboost-python1.58.0 libboost-random-dev libboost-random1.58-dev libboost-random1.58.0 libboost-regex-dev libboost-regex1.58-dev
  libboost-regex1.58.0 libboost-serialization-dev libboost-serialization1.58-dev libboost-serialization1.58.0 libboost-signals-dev
  libboost-signals1.58-dev libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev libboost-system1.58.0 libboost-test-dev
  libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev
  libboost-timer1.58-dev libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev
  libboost1.58-tools-dev libc-dev-bin libc6-dev libcairo2 libcc1-0 libcdt5 libcgraph6 libcilkrts5 libclang1-3.6 libcurl3 libdatrie1
  libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libgcc-5-dev libgd3 libgomp1 libgraphite2-3 libgtest-dev
  libgvc6 libgvpr2 libharfbuzz0b libhwloc-dev libhwloc-plugins libhwloc5 libibverbs-dev libibverbs1 libice6 libicu-dev libisl15 libitm1
  libjbig0 libjpeg-turbo8 libjpeg8 libjsoncpp1 libldns-dev libldns1 libllvm3.6v5 liblsan0 libltdl-dev libltdl7 liblzma-dev libminiupnpc-dev
  libminiupnpc10 libmpc3 libmpx0 libnuma-dev libobjc-5-dev libobjc4 libopenmpi-dev libopenmpi1.10 libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpathplan4 libpciaccess0 libpixman-1-0 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev
  libpython2.7-minimal libpython2.7-stdlib libquadmath0 libsm6 libssl-dev libssl-doc libstdc++-5-dev libthai-data libthai0 libtiff5 libtool
  libtsan0 libubsan0 libunbound-dev libunbound2 libunwind-dev libunwind8 libunwind8-dev libvpx3 libxaw7 libxcb-render0 libxcb-shm0 libxmu6
  libxpm4 libxrender1 libxt6 linux-libc-dev make manpages-dev mpi-default-bin mpi-default-dev ocl-icd-libopencl1 openmpi-bin openmpi-common
  pkg-config python python-dev python-minimal python2.7 python2.7-dev python2.7-minimal x11-common zlib1g-dev
0 upgraded, 213 newly installed, 0 to remove and 3 not upgraded.
Need to get 134 MB of archives.
After this operation, 578 MB of additional disk space will be used.
Get:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 cmake-data all 3.5.1-1ubuntu3 [1121 kB]
......
......
......
srv@local:~$ git clone https://github.com/electroneum/electroneum
Cloning into 'electroneum'...
remote: Counting objects: 30513, done.
remote: Total 30513 (delta 0), reused 0 (delta 0), pack-reused 30513
Receiving objects: 100% (30513/30513), 128.70 MiB | 86.51 MiB/s, done.
Resolving deltas: 100% (22819/22819), done.
Checking connectivity... done.
srv@local:~$ cd electroneum
srv@local:~/electroneum$ export CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe"
srv@local:~/electroneum$ export CXXFLAGS="${CFLAGS}"
srv@local:~/electroneum$ export CHOST="x86_64-pc-linux-gnu"
srv@local:~/electroneum$ make
mkdir -p build/release
cd build/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../.. && make
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building without build tag
-- Could not find DEVELOPER_LOCAL_TOOLS in env (not required)
-- BOOST_IGNORE_SYSTEM_PATHS defaults to OFF
-- Could not find DEVELOPER_LIBUNBOUND_OLD in env (not required)
-- Building for a 64-bit system
-- Building internal libraries as static
-- Could not find DATABASE in env (not required unless you want to change database type from default: lmdb)
-- Using LMDB as default DB type
-- Stack trace on exception enabled
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Found MiniUPnPc: /usr/include/miniupnpc  
-- Found miniupnpc API version 10
-- Using shared miniupnpc found at /usr/include/miniupnpc
-- Looking for libunbound
-- Found libunbound include (unbound.h) in /usr/include
-- Found libunbound shared library
-- Using 64-bit LMDB from source tree
-- Building on x86_64 for native
-- AES support enabled
-- Found Boost Version: 105800
-- Could NOT find Readline (missing:  Readline_INCLUDE_DIR Readline_LIBRARY) 
-- Performing Test GNU_READLINE_FOUND
-- Performing Test GNU_READLINE_FOUND - Failed
-- Could not find GNU readline library so building without readline support
-- Found Git: /usr/bin/git
-- Could NOT find GTest (missing:  GTEST_LIBRARY GTEST_MAIN_LIBRARY) 
-- GTest not found on the system: will use GTest bundled with this source
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.11") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/electroneum/build/release
make[1]: Entering directory '/home/ubuntu/electroneum/build/release'
make[2]: Entering directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target version
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[  0%] Generating version/version.h
-- You are currently on commit 6a0535e
-- The most recent tag was at 3b62c74
-- You are ahead of or behind a tagged release
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[  0%] Built target version
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target lmdb
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[  1%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/mdb.c.o
[  1%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/midl.c.o
[  2%] Linking C static library liblmdb.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[  2%] Built target lmdb
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target easylogging
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[  2%] Building CXX object external/easylogging++/CMakeFiles/easylogging.dir/easylogging++.cc.o
[  3%] Linking CXX static library libeasylogging.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[  3%] Built target easylogging
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_cncrypto
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[  3%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/aesb.c.o
[  4%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/blake256.c.o
[  4%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/chacha8.c.o
[  5%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto-ops-data.c.o
[  5%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto-ops.c.o
[  5%] Building CXX object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto.cpp.o
[  6%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/groestl.c.o
[  6%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-blake.c.o
[  7%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-groestl.c.o
[  7%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-jh.c.o
[  8%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-skein.c.o
[  8%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash.c.o
[  9%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/jh.c.o
[  9%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/keccak.c.o
[ 10%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/oaes_lib.c.o
[ 10%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/random.c.o
[ 10%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/skein.c.o
[ 11%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/slow-hash.c.o
[ 11%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/tree-hash.c.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 11%] Built target obj_cncrypto
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target cncrypto
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 12%] Linking CXX static library libcncrypto.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 12%] Built target cncrypto
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target epee
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 12%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/hex.cpp.o
[ 13%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/http_auth.cpp.o
[ 13%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/mlog.cpp.o
[ 13%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/string_tools.cpp.o
[ 14%] Linking CXX static library libepee.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 14%] Built target epee
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_common
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 15%] Building CXX object src/common/CMakeFiles/obj_common.dir/base58.cpp.o
[ 15%] Building CXX object src/common/CMakeFiles/obj_common.dir/command_line.cpp.o
[ 16%] Building CXX object src/common/CMakeFiles/obj_common.dir/dns_utils.cpp.o
[ 16%] Building CXX object src/common/CMakeFiles/obj_common.dir/download.cpp.o
[ 17%] Building CXX object src/common/CMakeFiles/obj_common.dir/util.cpp.o
[ 17%] Building CXX object src/common/CMakeFiles/obj_common.dir/i18n.cpp.o
[ 18%] Building CXX object src/common/CMakeFiles/obj_common.dir/password.cpp.o
[ 18%] Building CXX object src/common/CMakeFiles/obj_common.dir/perf_timer.cpp.o
[ 18%] Building CXX object src/common/CMakeFiles/obj_common.dir/task_region.cpp.o
[ 19%] Building CXX object src/common/CMakeFiles/obj_common.dir/thread_group.cpp.o
[ 19%] Building CXX object src/common/CMakeFiles/obj_common.dir/updates.cpp.o
[ 20%] Building CXX object src/common/CMakeFiles/obj_common.dir/stack_trace.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 20%] Built target obj_common
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target common
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 20%] Linking CXX static library libcommon.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 20%] Built target common
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_ringct
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctOps.cpp.o
[ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctSigs.cpp.o
[ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctTypes.cpp.o
[ 22%] Building C object src/ringct/CMakeFiles/obj_ringct.dir/rctCryptoOps.c.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 22%] Built target obj_ringct
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_cryptonote_basic
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 22%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/account.cpp.o
[ 23%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/checkpoints.cpp.o
[ 23%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/cryptonote_basic_impl.cpp.o
[ 24%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/cryptonote_format_utils.cpp.o
[ 24%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/difficulty.cpp.o
[ 25%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/hardfork.cpp.o
[ 25%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/miner.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 25%] Built target obj_cryptonote_basic
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target cryptonote_basic
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 25%] Linking CXX static library libcryptonote_basic.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 25%] Built target cryptonote_basic
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target ringct
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 26%] Linking CXX static library libringct.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 26%] Built target ringct
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_cryptonote_core
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 27%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/blockchain.cpp.o
[ 27%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/cryptonote_core.cpp.o
[ 27%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/tx_pool.cpp.o
[ 28%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/cryptonote_tx_utils.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 28%] Built target obj_cryptonote_core
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 28%] Generating testnet_blocks.o
[ 29%] Generating blocks.o
Scanning dependencies of target blocks
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 30%] Building C object src/blocks/CMakeFiles/blocks.dir/blockexports.c.o
[ 30%] Linking C static library libblocks.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 30%] Built target blocks
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_blockchain_db
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 30%] Building CXX object src/blockchain_db/CMakeFiles/obj_blockchain_db.dir/blockchain_db.cpp.o
[ 31%] Building CXX object src/blockchain_db/CMakeFiles/obj_blockchain_db.dir/lmdb/db_lmdb.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 31%] Built target obj_blockchain_db
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target blockchain_db
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 31%] Linking CXX static library libblockchain_db.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 31%] Built target blockchain_db
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target cryptonote_core
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 32%] Linking CXX static library libcryptonote_core.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 32%] Built target cryptonote_core
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_mnemonics
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 33%] Building CXX object src/mnemonics/CMakeFiles/obj_mnemonics.dir/electrum-words.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 33%] Built target obj_mnemonics
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target mnemonics
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 33%] Linking CXX static library libmnemonics.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 33%] Built target mnemonics
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_rpc
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 33%] Building CXX object src/rpc/CMakeFiles/obj_rpc.dir/core_rpc_server.cpp.o
[ 34%] Building CXX object src/rpc/CMakeFiles/obj_rpc.dir/rpc_args.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 34%] Built target obj_rpc
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_p2p
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 34%] Building CXX object src/p2p/CMakeFiles/obj_p2p.dir/network_throttle-detail.cpp.o
[ 35%] Building CXX object src/p2p/CMakeFiles/obj_p2p.dir/connection_basic.cpp.o
[ 35%] Building CXX object src/p2p/CMakeFiles/obj_p2p.dir/network_throttle.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 35%] Built target obj_p2p
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target p2p
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 35%] Linking CXX static library libp2p.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 35%] Built target p2p
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_cryptonote_protocol
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 35%] Building CXX object src/cryptonote_protocol/CMakeFiles/obj_cryptonote_protocol.dir/block_queue.cpp.o
[ 36%] Building CXX object src/cryptonote_protocol/CMakeFiles/obj_cryptonote_protocol.dir/cryptonote_protocol_handler-base.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 36%] Built target obj_cryptonote_protocol
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target cryptonote_protocol
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 36%] Linking CXX static library libcryptonote_protocol.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 36%] Built target cryptonote_protocol
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target rpc
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 36%] Linking CXX static library librpc.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 36%] Built target rpc
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_wallet
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 36%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet2.cpp.o
[ 37%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet_args.cpp.o
[ 37%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/node_rpc_proxy.cpp.o
[ 38%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/wallet.cpp.o
[ 38%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/wallet_manager.cpp.o
[ 39%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/transaction_info.cpp.o
[ 39%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/transaction_history.cpp.o
[ 39%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/pending_transaction.cpp.o
[ 40%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/utils.cpp.o
[ 40%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/address_book.cpp.o
[ 41%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/unsigned_transaction.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 41%] Built target obj_wallet
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target wallet
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 42%] Linking CXX static library ../../lib/libwallet.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 42%] Built target wallet
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target wallet_rpc_server
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 42%] Building CXX object src/wallet/CMakeFiles/wallet_rpc_server.dir/wallet_rpc_server.cpp.o
[ 43%] Linking CXX executable ../../bin/electroneum-wallet-rpc
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 43%] Built target wallet_rpc_server
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target simplewallet
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 44%] Building CXX object src/simplewallet/CMakeFiles/simplewallet.dir/simplewallet.cpp.o
[ 44%] Linking CXX executable ../../bin/electroneum-wallet-cli
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 44%] Built target simplewallet
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target obj_daemonizer
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 44%] Building CXX object src/daemonizer/CMakeFiles/obj_daemonizer.dir/posix_fork.cpp.o
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 44%] Built target obj_daemonizer
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target daemonizer
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 44%] Linking CXX static library libdaemonizer.a
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 44%] Built target daemonizer
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 45%] Generating blocksdat.o
Scanning dependencies of target daemon
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 45%] Building CXX object src/daemon/CMakeFiles/daemon.dir/command_parser_executor.cpp.o
[ 46%] Building CXX object src/daemon/CMakeFiles/daemon.dir/command_server.cpp.o
[ 46%] Building CXX object src/daemon/CMakeFiles/daemon.dir/daemon.cpp.o
[ 47%] Building CXX object src/daemon/CMakeFiles/daemon.dir/executor.cpp.o
[ 47%] Building CXX object src/daemon/CMakeFiles/daemon.dir/main.cpp.o
[ 47%] Building CXX object src/daemon/CMakeFiles/daemon.dir/rpc_command_executor.cpp.o
[ 48%] Linking CXX executable ../../bin/electroneumd
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 48%] Built target daemon
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 49%] Generating blocksdat.o
Scanning dependencies of target blockchain_import
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 49%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/blockchain_import.cpp.o
[ 50%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/bootstrap_file.cpp.o
[ 50%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/blocksdat_file.cpp.o
[ 50%] Linking CXX executable ../../bin/electroneum-blockchain-import
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 50%] Built target blockchain_import
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target blockchain_export
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 51%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/blockchain_export.cpp.o
[ 51%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/bootstrap_file.cpp.o
[ 52%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/blocksdat_file.cpp.o
[ 52%] Linking CXX executable ../../bin/electroneum-blockchain-export
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 52%] Built target blockchain_export
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target googletest
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 52%] Creating directories for 'googletest'
[ 53%] No download step for 'googletest'
[ 53%] No patch step for 'googletest'
[ 53%] No update step for 'googletest'
[ 54%] Performing configure step for 'googletest'
-- The CXX compiler identification is GNU 5.4.0
-- The C compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.12") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/electroneum/build/release/tests/gtest
[ 54%] Performing build step for 'googletest'
make[4]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest'
make[5]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest'
make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest'
Scanning dependencies of target gtest
make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest'
make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest'
[ 25%] Building CXX object CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 50%] Linking CXX static library libgtest.a
make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest'
[ 50%] Built target gtest
make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest'
Scanning dependencies of target gtest_main
make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest'
make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest'
[ 75%] Building CXX object CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[100%] Linking CXX static library libgtest_main.a
make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest'
[100%] Built target gtest_main
make[5]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest'
make[4]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest'
[ 55%] No install step for 'googletest'
[ 55%] Completed 'googletest'
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 55%] Built target googletest
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target hash-target-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 56%] Building CXX object tests/CMakeFiles/hash-target-tests.dir/hash-target.cpp.o
[ 56%] Linking CXX executable hash-target-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 56%] Built target hash-target-tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target coretests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 56%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/block_reward.cpp.o
[ 57%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/block_validation.cpp.o
[ 57%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chain_split_1.cpp.o
[ 58%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chain_switch_1.cpp.o
[ 58%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chaingen.cpp.o
[ 59%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chaingen001.cpp.o
[ 59%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chaingen_main.cpp.o
[ 60%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/double_spend.cpp.o
[ 60%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/integer_overflow.cpp.o
[ 61%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/ring_signature_1.cpp.o
[ 61%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/transaction_tests.cpp.o
[ 62%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/tx_validation.cpp.o
[ 62%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/v2_tests.cpp.o
[ 62%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/rct.cpp.o
[ 63%] Linking CXX executable coretests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 63%] Built target coretests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target cold-outputs_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 63%] Building CXX object tests/fuzz/CMakeFiles/cold-outputs_fuzz_tests.dir/cold-outputs.cpp.o
[ 64%] Building CXX object tests/fuzz/CMakeFiles/cold-outputs_fuzz_tests.dir/fuzzer.cpp.o
[ 64%] Linking CXX executable cold-outputs_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 64%] Built target cold-outputs_fuzz_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target transaction_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 65%] Building CXX object tests/fuzz/CMakeFiles/transaction_fuzz_tests.dir/transaction.cpp.o
[ 65%] Building CXX object tests/fuzz/CMakeFiles/transaction_fuzz_tests.dir/fuzzer.cpp.o
[ 66%] Linking CXX executable transaction_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 66%] Built target transaction_fuzz_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target block_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 66%] Building CXX object tests/fuzz/CMakeFiles/block_fuzz_tests.dir/block.cpp.o
[ 66%] Building CXX object tests/fuzz/CMakeFiles/block_fuzz_tests.dir/fuzzer.cpp.o
[ 67%] Linking CXX executable block_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 67%] Built target block_fuzz_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target signature_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 68%] Building CXX object tests/fuzz/CMakeFiles/signature_fuzz_tests.dir/signature.cpp.o
[ 68%] Building CXX object tests/fuzz/CMakeFiles/signature_fuzz_tests.dir/fuzzer.cpp.o
[ 68%] Linking CXX executable signature_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 68%] Built target signature_fuzz_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target cold-transaction_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 69%] Building CXX object tests/fuzz/CMakeFiles/cold-transaction_fuzz_tests.dir/cold-transaction.cpp.o
[ 69%] Building CXX object tests/fuzz/CMakeFiles/cold-transaction_fuzz_tests.dir/fuzzer.cpp.o
[ 70%] Linking CXX executable cold-transaction_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 70%] Built target cold-transaction_fuzz_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target cncrypto-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 70%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto-ops-data.c.o
[ 71%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto-ops.c.o
[ 71%] Building CXX object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto.cpp.o
[ 72%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/hash.c.o
[ 72%] Building CXX object tests/crypto/CMakeFiles/cncrypto-tests.dir/main.cpp.o
[ 72%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/random.c.o
[ 73%] Linking CXX executable cncrypto-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 73%] Built target cncrypto-tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target functional_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 73%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/main.cpp.o
[ 74%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/transactions_flow_test.cpp.o
[ 74%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/transactions_generation_from_blockchain.cpp.o
[ 75%] Linking CXX executable functional_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 75%] Built target functional_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target performance_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 76%] Building CXX object tests/performance_tests/CMakeFiles/performance_tests.dir/main.cpp.o
[ 76%] Linking CXX executable performance_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 76%] Built target performance_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target core_proxy
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 77%] Building CXX object tests/core_proxy/CMakeFiles/core_proxy.dir/core_proxy.cpp.o
[ 77%] Linking CXX executable core_proxy
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 77%] Built target core_proxy
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target unit_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 77%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/address_from_url.cpp.o
[ 78%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/ban.cpp.o
[ 78%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/base58.cpp.o
[ 79%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/blockchain_db.cpp.o
[ 79%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/block_queue.cpp.o
[ 80%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/block_reward.cpp.o
[ 80%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/canonical_amounts.cpp.o
[ 80%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/chacha8.cpp.o
[ 81%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/checkpoints.cpp.o
[ 81%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/command_line.cpp.o
[ 82%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/crypto.cpp.o
[ 82%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/decompose_amount_into_digits.cpp.o
[ 83%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/dns_resolver.cpp.o
[ 83%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_boosted_tcp_server.cpp.o
[ 84%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_levin_protocol_handler_async.cpp.o
[ 84%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_utils.cpp.o
[ 85%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/fee.cpp.o
[ 85%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/get_xtype_from_string.cpp.o
[ 85%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/http.cpp.o
[ 86%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/main.cpp.o
[ 86%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/mnemonics.cpp.o
[ 87%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/mul_div.cpp.o
[ 87%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/parse_amount.cpp.o
[ 88%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/serialization.cpp.o
[ 88%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/slow_memmem.cpp.o
[ 89%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_tx_utils.cpp.o
[ 89%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_peerlist.cpp.o
[ 90%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_protocol_pack.cpp.o
[ 90%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/thread_group.cpp.o
[ 90%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/hardfork.cpp.o
[ 91%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/unbound.cpp.o
[ 91%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/uri.cpp.o
[ 92%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/varint.cpp.o
[ 92%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/ringct.cpp.o
[ 93%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/output_selection.cpp.o
[ 93%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/vercmp.cpp.o
[ 94%] Linking CXX executable unit_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 94%] Built target unit_tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target difficulty-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 95%] Building CXX object tests/difficulty/CMakeFiles/difficulty-tests.dir/difficulty.cpp.o
[ 95%] Linking CXX executable difficulty-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 95%] Built target difficulty-tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target hash-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 96%] Building CXX object tests/hash/CMakeFiles/hash-tests.dir/main.cpp.o
[ 96%] Linking CXX executable hash-tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 96%] Built target hash-tests
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target net_load_tests_clt
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 96%] Building CXX object tests/net_load_tests/CMakeFiles/net_load_tests_clt.dir/clt.cpp.o
[ 97%] Linking CXX executable net_load_tests_clt
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 97%] Built target net_load_tests_clt
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target net_load_tests_srv
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[ 97%] Building CXX object tests/net_load_tests/CMakeFiles/net_load_tests_srv.dir/srv.cpp.o
[ 98%] Linking CXX executable net_load_tests_srv
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[ 98%] Built target net_load_tests_srv
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
Scanning dependencies of target libwallet_api_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[3]: Entering directory '/home/ubuntu/electroneum/build/release'
[100%] Building CXX object tests/libwallet_api_tests/CMakeFiles/libwallet_api_tests.dir/main.cpp.o
[100%] Linking CXX executable libwallet_api_tests
make[3]: Leaving directory '/home/ubuntu/electroneum/build/release'
[100%] Built target libwallet_api_tests
make[2]: Leaving directory '/home/ubuntu/electroneum/build/release'
make[1]: Leaving directory '/home/ubuntu/electroneum/build/release'

Running a Groestlcoin node (wallet cli) from source under Ubuntu 16 LTS

This howto is made to show you how to run a full Groestlcoin node. To run a Groestlcoin node we need the official Groestlcoin daemon software:

groestlcoind

from the Groestlcoin Core package: https://www.groestlcoin.org/groestlcoin-core-wallet/ This program will start and wait for the network synchronization – our Groestlcoin node will receive all the blockchains of the network!
Installing (or compiling it) the Groestlcoin Core software of the official site will ensure you have the right software for generating and sending/receiving transactions securely and privately! Always use your node software for generating the Groestlcoin wallet address, DO NOT TRUST any sites, which offer you a creation of Groestlcoin wallet. In crypto world the one how controls the private key of the wallet (which is generated with the creation of the wallet) controls the Groestlcoin wallet address so controls your funds! It is so important that we repeat it in EVERY cryptocurrency howto! Just Install or compile a Groestlcoin Core node software – Running a Groestlcoin node (cli) from source under Ubuntu 16 LTS and you’ll everything you need to manage your Groestlcoin funds!
It’s worth mentioning again this section of Groestlcoin (Wallet) node howto:
And also be warned DO NOT use insecure sources when:

  1. installing Ubuntu, install it from a cd/dvd/usb downloaded from the official Ubuntu site here.
  2. installing all the needed dependencies from official sources only, not recommended the PPA reposigories, neither!
  3. install yourself the “groestlcoind” program (the official Groestlcoin software), which will create an Groestlcoin node and after network synchronization could be used to create an Groestlcoin node.

Three simple rules could almost eliminate leaking your private key to hackers, which in blockchain world means losing your money…

With Groestlcoin you can still use ordinary hard drive, but it will be much slower than SSDs.

USE SSD

STEP 1) Install Ubuntu 16 – our howto will be available soon here.

STEP 2) Building from source an Groestlcoin (Wallet) node

Check out our howto “Running a Groestlcoin node (cli) from source under Ubuntu 16 LTS“.

STEP 3) Start the Groestlcoin node

if you have followed the howto in STEP 2) you probably have “groestlcoind” installed in “~/groestlcoin-core/bin”, so run it with:

ubuntu@srv.local:~/groestlcoin-core/bin$ ./groestlcoind &> ./groestlcoind.log

It is a good practice to run it with screen and in an infinite loop – if the program crashes it will start automatically and you’ll always have a synchronized node, of course, if you do not need a Groestlcoin (wallet) node running all the time the infinite loop is not needed. The user could just start the node, wait for synchronization and then make your transactions and stop the node, after several days you can start it up the catching up the synchronization won’t take much time:

ubuntu@srv.local:~$ screen -R groestlcoin
ubuntu@srv.local:~$ cd groestlcoin-core/bin/
ubuntu@srv.local:~/groestlcoin-core/bin$ while true; do ./groestlcoind &> ./groestlcoind.log;done

STEP 3) Wait for the blockchain network synchronization

This step could take significant amount of time, server resources and network bandwidth! USE SSD(s) for your home directory, because the blockchain database will be saved at your

home directory/.groestlcoin/

If you want to move it on another server or directory (or device) you must copy this directory to the new location.
When you run “groestlcoind” it will check the current state of the network and the current state of your groestlcoin (wallet) node, so no matter it is started for the first time or not a network synchronization is needed, your node need to be synchronized with the groestlcoin network to be used for all kind of actions in the network (create a wallet, transfer funds and more).
Here is the “~/.groestlcoin” direcotry:

srv@local:~$ ls -altr .groestlcoin/
total 24356
drwxr-xr-x 7 ubuntu ubuntu     4096 Mar 27 21:41 ..
-rw------- 1 ubuntu ubuntu        0 Mar 27 21:41 .lock
-rw------- 1 ubuntu ubuntu        6 Mar 27 21:41 groestlcoin.pid
-rw------- 1 ubuntu ubuntu        0 Mar 27 21:41 db.log
-rw------- 1 ubuntu ubuntu       75 Mar 27 21:41 .cookie
drwx------ 2 ubuntu ubuntu     4096 Mar 27 21:41 chainstate
drwx------ 3 ubuntu ubuntu     4096 Mar 27 21:41 blocks
drwx------ 2 ubuntu ubuntu     4096 Mar 27 21:41 database
-rw------- 1 ubuntu ubuntu    90112 Mar 27 21:41 wallet.dat
-rw------- 1 ubuntu ubuntu     1106 Mar 27 21:41 peers.dat
-rw------- 1 ubuntu ubuntu       37 Mar 27 21:41 banlist.dat
drwxrwxr-x 5 ubuntu ubuntu     4096 Mar 27 21:41 .
-rw------- 1 ubuntu ubuntu 24809419 Mar 27 21:48 debug.log
srv@local:~$ 

You can monitor all activity and synchronization of the groestlcoin (wallet) node in

debug.log

Here is the log of the node start:

2018-03-27 21:41:57 Groestlcoin version v2.13.3
2018-03-27 21:41:57 InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1
2018-03-27 21:41:57 Default data directory /home/ubuntu/.groestlcoin
2018-03-27 21:41:57 Using data directory /home/ubuntu/.groestlcoin
2018-03-27 21:41:57 Using config file /home/ubuntu/.groestlcoin/groestlcoin.conf
2018-03-27 21:41:57 Using at most 125 connections (1024 file descriptors available)
2018-03-27 21:41:57 Using 32 MiB out of 32 requested for signature cache, able to store 1048576 elements
2018-03-27 21:41:57 Using 4 threads for script verification
2018-03-27 21:41:57 scheduler thread start
2018-03-27 21:41:57 HTTP: creating work queue of depth 16
2018-03-27 21:41:57 No rpcpassword set - using random cookie authentication
2018-03-27 21:41:57 Generated RPC authentication cookie /home/ubuntu/.groestlcoin/.cookie
2018-03-27 21:41:57 HTTP: starting 4 worker threads
2018-03-27 21:41:57 Using BerkeleyDB version Berkeley DB 5.3.28: (September  9, 2013)
2018-03-27 21:41:57 Using wallet wallet.dat
2018-03-27 21:41:57 init message: Verifying wallet...
2018-03-27 21:41:57 CDBEnv::Open: LogDir=/home/ubuntu/.groestlcoin/database ErrorFile=/home/ubuntu/.groestlcoin/db.log
2018-03-27 21:41:57 Bound to [::]:1331
2018-03-27 21:41:57 Bound to 0.0.0.0:1331
2018-03-27 21:41:57 Cache configuration:
2018-03-27 21:41:57 * Using 2.0MiB for block index database
2018-03-27 21:41:57 * Using 8.0MiB for chain state database
2018-03-27 21:41:57 * Using 290.0MiB for in-memory UTXO set
2018-03-27 21:41:57 init message: Loading block index...
2018-03-27 21:41:57 Opening LevelDB in /home/ubuntu/.groestlcoin/blocks/index
2018-03-27 21:41:57 Opened LevelDB successfully
2018-03-27 21:41:57 Using obfuscation key for /home/ubuntu/.groestlcoin/blocks/index: 0000000000000000
2018-03-27 21:41:57 Opening LevelDB in /home/ubuntu/.groestlcoin/chainstate
2018-03-27 21:41:57 Opened LevelDB successfully
2018-03-27 21:41:57 Using obfuscation key for /home/ubuntu/.groestlcoin/chainstate: 0000000000000000
2018-03-27 21:41:57 LoadBlockIndexDB: last block file = 0
2018-03-27 21:41:57 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=0, size=0, heights=0...0, time=1970-01-01...1970-01-01)
2018-03-27 21:41:57 Checking all blk files are present...
2018-03-27 21:41:57 LoadBlockIndexDB: transaction index disabled
2018-03-27 21:41:57 Initializing databases...
2018-03-27 21:41:57 Pre-allocating up to position 0x1000000 in blk00000.dat
2018-03-27 21:41:57 init message: Verifying blocks...
2018-03-27 21:41:57  block index              18ms
2018-03-27 21:41:57 init message: Loading wallet...
2018-03-27 21:41:57 nFileVersion = 2130300
2018-03-27 21:41:57 Keys: 0 plaintext, 0 encrypted, 0 w/ metadata, 0 total
2018-03-27 21:41:57 Performing wallet upgrade to 60000
2018-03-27 21:41:57 keypool added key 1, size=1
2018-03-27 21:41:57 keypool added key 2, size=2
2018-03-27 21:41:57 keypool added key 3, size=3
2018-03-27 21:41:57 keypool added key 4, size=4
2018-03-27 21:41:57 keypool added key 5, size=5
2018-03-27 21:41:57 keypool added key 6, size=6
2018-03-27 21:41:57 keypool added key 7, size=7
2018-03-27 21:41:57 keypool added key 8, size=8
2018-03-27 21:41:57 keypool added key 9, size=9
2018-03-27 21:41:57 keypool added key 10, size=10
2018-03-27 21:41:57 keypool added key 11, size=11
2018-03-27 21:41:57 keypool added key 12, size=12
2018-03-27 21:41:57 keypool added key 13, size=13
2018-03-27 21:41:57 keypool added key 14, size=14
2018-03-27 21:41:57 keypool added key 15, size=15
2018-03-27 21:41:57 keypool added key 16, size=16
2018-03-27 21:41:57 keypool added key 17, size=17
2018-03-27 21:41:57 keypool added key 18, size=18
2018-03-27 21:41:57 keypool added key 19, size=19
2018-03-27 21:41:57 keypool added key 20, size=20
2018-03-27 21:41:57 keypool added key 21, size=21
2018-03-27 21:41:57 keypool added key 22, size=22
2018-03-27 21:41:57 keypool added key 23, size=23
2018-03-27 21:41:57 keypool added key 24, size=24
2018-03-27 21:41:57 keypool added key 25, size=25
2018-03-27 21:41:57 keypool added key 26, size=26
2018-03-27 21:41:58 keypool added key 27, size=27
2018-03-27 21:41:58 keypool added key 28, size=28
2018-03-27 21:41:58 keypool added key 29, size=29
2018-03-27 21:41:58 keypool added key 30, size=30
2018-03-27 21:41:58 keypool added key 31, size=31
2018-03-27 21:41:58 keypool added key 32, size=32
2018-03-27 21:41:58 keypool added key 33, size=33
2018-03-27 21:41:58 keypool added key 34, size=34
2018-03-27 21:41:58 keypool added key 35, size=35
2018-03-27 21:41:58 keypool added key 36, size=36
2018-03-27 21:41:58 keypool added key 37, size=37
2018-03-27 21:41:58 keypool added key 38, size=38
2018-03-27 21:41:58 keypool added key 39, size=39
2018-03-27 21:41:58 keypool added key 40, size=40
2018-03-27 21:41:58 keypool added key 41, size=41
2018-03-27 21:41:58 keypool added key 42, size=42
2018-03-27 21:41:58 keypool added key 43, size=43
2018-03-27 21:41:58 keypool added key 44, size=44
2018-03-27 21:41:58 keypool added key 45, size=45
2018-03-27 21:41:58 keypool added key 46, size=46
2018-03-27 21:41:58 keypool added key 47, size=47
2018-03-27 21:41:58 keypool added key 48, size=48
2018-03-27 21:41:58 keypool added key 49, size=49
2018-03-27 21:41:58 keypool added key 50, size=50
2018-03-27 21:41:58 keypool added key 51, size=51
2018-03-27 21:41:58 keypool added key 52, size=52
2018-03-27 21:41:58 keypool added key 53, size=53
2018-03-27 21:41:58 keypool added key 54, size=54
2018-03-27 21:41:58 keypool added key 55, size=55
2018-03-27 21:41:58 keypool added key 56, size=56
2018-03-27 21:41:58 keypool added key 57, size=57
2018-03-27 21:41:58 keypool added key 58, size=58
2018-03-27 21:41:58 keypool added key 59, size=59
2018-03-27 21:41:58 keypool added key 60, size=60
2018-03-27 21:41:58 keypool added key 61, size=61
2018-03-27 21:41:58 keypool added key 62, size=62
2018-03-27 21:41:58 keypool added key 63, size=63
2018-03-27 21:41:58 keypool added key 64, size=64
2018-03-27 21:41:58 keypool added key 65, size=65
2018-03-27 21:41:58 keypool added key 66, size=66
2018-03-27 21:41:58 keypool added key 67, size=67
2018-03-27 21:41:58 keypool added key 68, size=68
2018-03-27 21:41:58 keypool added key 69, size=69
2018-03-27 21:41:58 keypool added key 70, size=70
2018-03-27 21:41:58 keypool added key 71, size=71
2018-03-27 21:41:58 keypool added key 72, size=72
2018-03-27 21:41:58 keypool added key 73, size=73
2018-03-27 21:41:58 keypool added key 74, size=74
2018-03-27 21:41:58 keypool added key 75, size=75
2018-03-27 21:41:58 keypool added key 76, size=76
2018-03-27 21:41:58 keypool added key 77, size=77
2018-03-27 21:41:58 keypool added key 78, size=78
2018-03-27 21:41:58 keypool added key 79, size=79
2018-03-27 21:41:58 keypool added key 80, size=80
2018-03-27 21:41:58 keypool added key 81, size=81
2018-03-27 21:41:58 keypool added key 82, size=82
2018-03-27 21:41:58 keypool added key 83, size=83
2018-03-27 21:41:58 keypool added key 84, size=84
2018-03-27 21:41:58 keypool added key 85, size=85
2018-03-27 21:41:58 keypool added key 86, size=86
2018-03-27 21:41:58 keypool added key 87, size=87
2018-03-27 21:41:58 keypool added key 88, size=88
2018-03-27 21:41:58 keypool added key 89, size=89
2018-03-27 21:41:58 keypool added key 90, size=90
2018-03-27 21:41:58 keypool added key 91, size=91
2018-03-27 21:41:58 keypool added key 92, size=92
2018-03-27 21:41:58 keypool added key 93, size=93
2018-03-27 21:41:58 keypool added key 94, size=94
2018-03-27 21:41:58 keypool added key 95, size=95
2018-03-27 21:41:58 keypool added key 96, size=96
2018-03-27 21:41:58 keypool added key 97, size=97
2018-03-27 21:41:58 keypool added key 98, size=98
2018-03-27 21:41:58 keypool added key 99, size=99
2018-03-27 21:41:58 keypool added key 100, size=100
2018-03-27 21:41:58 keypool added key 101, size=101
2018-03-27 21:41:58 keypool reserve 1
2018-03-27 21:41:58 keypool keep 1
2018-03-27 21:41:58  wallet                  453ms
2018-03-27 21:41:58 setKeyPool.size() = 100
2018-03-27 21:41:58 mapWallet.size() = 0
2018-03-27 21:41:58 mapAddressBook.size() = 1
2018-03-27 21:41:58 UpdateTip: new best=00000ac5927c594d49cc0bdb81759d0da8297eb614683d3acb62f0703b639023 height=0 version=0x00000070 log2_work=20.000001 tx=1 date='2014-03-20 19:13:49' progress=0.000007 cache=0.0MiB(0tx)
2018-03-27 21:41:58 mapBlockIndex.size() = 1
2018-03-27 21:41:58 Failed to open mempool file from disk. Continuing anyway.
2018-03-27 21:41:58 nBestHeight = 0
2018-03-27 21:41:58 torcontrol thread start
2018-03-27 21:41:58 init message: Loading addresses...
2018-03-27 21:41:58 ERROR: Read: Failed to open file /home/ubuntu/.groestlcoin/peers.dat
2018-03-27 21:41:58 Invalid or missing peers.dat; recreating
2018-03-27 21:41:58 init message: Loading banlist...
2018-03-27 21:41:58 ERROR: Read: Failed to open file /home/ubuntu/.groestlcoin/banlist.dat
2018-03-27 21:41:58 Invalid or missing banlist.dat; recreating
2018-03-27 21:41:58 init message: Starting network threads...
2018-03-27 21:41:58 net thread start
2018-03-27 21:41:58 init message: Done loading
2018-03-27 21:41:58 dnsseed thread start
2018-03-27 21:41:58 addcon thread start
2018-03-27 21:41:58 Loading addresses from DNS seeds (could take a while)
2018-03-27 21:41:58 opencon thread start
2018-03-27 21:41:58 msghand thread start
2018-03-27 21:41:58 5 addresses found from DNS seeds
2018-03-27 21:41:58 dnsseed thread exit
2018-03-27 21:41:58 receive version message: /Groestlcoin:2.13.3/: version 70015, blocks=2020505, us=18.220.186.120:43158, peer=0
2018-03-27 21:41:59 Pre-allocating up to position 0x100000 in rev00000.dat
2018-03-27 21:41:59 UpdateTip: new best=00000973d52019a3fdda1b1f346e1d76cbf12f8fdd9fbf0ade33bc1da89cb2e9 height=1 version=0x00000070 log2_work=21.000001 tx=2 date='2014-03-22 13:41:11' progress=0.000014 cache=0.0MiB(1tx)
2018-03-27 21:41:59 UpdateTip: new best=000005a19e5880b2e85af1ece6a7a853dd786081915c9e5744da7d9d49e036b2 height=2 version=0x00000070 log2_work=21.584964 tx=3 date='2014-03-22 13:41:12' progress=0.000020 cache=0.0MiB(2tx)
2018-03-27 21:41:59 UpdateTip: new best=00000b7b176cc31f551ff383a57c1ef468b63d2b29ca0819d6728e74892868d5 height=3 version=0x00000070 log2_work=22.000001 tx=4 date='2014-03-22 13:41:14' progress=0.000027 cache=0.0MiB(3tx)

Last couple of lines shows that the synchronization process is running…

With “groestlcoin-cli” we can check the process of synchronization:

srv@local:~/groestlcoin-core/bin$ ./groestlcoin-cli getblockchaininfo
{
  "chain": "main",
  "blocks": 1592616,
  "headers": 2020535,
  "bestblockhash": "0000000002e22d910805ded76c2ecf8538b71bde259a87d42eb0f461874ac470",
  "difficulty": 29.7853045557759,
  "mediantime": 1495007637,
  "verificationprogress": 0.9850607167871146,
  "chainwork": "0000000000000000000000000000000000000000000000000238bd35306e983c",
  "pruned": false,
  "softforks": [
    {
      "id": "bip34",
      "version": 2,
      "reject": {
        "status": true
      }
    }, 
    {
      "id": "bip66",
      "version": 3,
      "reject": {
        "status": true
      }
    }
  ],
  "bip9_softforks": {
    "csv": {
      "status": "active",
      "startTime": 1484956800,
      "timeout": 1498003200,
      "since": 1439424
    },
    "segwit": {
      "status": "active",
      "startTime": 1484956800,
      "timeout": 1498003200,
      "since": 1439424
    },
    "bip65": {
      "status": "active",
      "startTime": 1484956800,
      "timeout": 1498003200,
      "since": 1439424
    }
  }
}

You can see we are at 1592616 of total 2020535. When “blocks” count equalize with the “headers” your Groestlcoin (wallet) node is synchronized successfully and the debug.log will just only output a couple of lines every minutes:

2018-03-27 22:25:49 UpdateTip: new best=000000000002c7e048092df98fd1d15f0e16e444f1c98f8777b826640e614e32 height=2020547 version=0x20000000 log2_work=60.941936 tx=2701441 date='2018-03-27 22:25:22' progress=1.000000 cache=94.0MiB(426839tx)
2018-03-27 22:25:56 UpdateTip: new best=0000000000063fc891f7a82e86ed43c30fd31c749955d7f0389b89a968fde322 height=2020548 version=0x20000000 log2_work=60.941946 tx=2701442 date='2018-03-27 22:25:49' progress=1.000000 cache=94.0MiB(426840tx)

The starting date of the line will differ with couple of seconds of the date in the transaction – the “date=” after the “tx=”.
Now you can start using your Groestlcoin (wallet) node for transactions and

At present with SSD and 16G RAM on a intel i7 processor and a fast Internet connection 100Mbps the full synchronization took about 40 minutes and 2G of storage space.
You are ready to use “groestlcoin-cli” or the others program to manage your funds – for example send, receive, check balance of your funds.
If you stop and start the program it will start the synchronization from the point you stopped.