Running a Monero node from source under Ubuntu 16 LTS

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

monerod

This program will start and wait for the network synchronization – our Monero node will receive all the blockchains of the network!
Installing (or compiling it) the Monero 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 Monero wallet address, DO NOT TRUST any sites, which offer you a creation of Monero 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 Monero wallet address so controls your funds! Just Install or compile a Monero node software – Building from source a Monero node under Ubuntu 16 LTS and you’ll everything you need to manage your Monero funds!
It’s worth mentioning again this section of Monero 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 “monerod” program (the official Monero software), which will create a Monero node and after network synchronization could be used to create a Monero 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 do not attempt to run a Monero node in a hard disk –

USE SSD

If you use a hard disk even in RAID configuration it could take several days for network synchronization and probably your machine will be useless during the synchronization.

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

STEP 2) Building from source a Monero node

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

STEP 3) Start the Monero node

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

ubuntu@srv.local:~/monero/build/release/bin$ ./monerod &> ./monerod.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 Monero 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 monero
ubuntu@srv.local:~$ cd monero/build/release/bin
ubuntu@srv.local:~/monero/build/release/bin$ while true; do ./monerod &> ./monerod.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/.bitmonero/

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 a traditional hard drive probably will not be able to catch up with the synchronization.
When you run “monerod” it will check the current state of the network and the current state of your Monero 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 Monero 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 Monero node:

2018-03-14 14:05:03.470     7fa0d08cb780        INFO    global  src/daemon/main.cpp:280 Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f)
2018-03-14 14:05:03.470     7fa0d08cb780        INFO    global  src/daemon/protocol.h:53        Initializing cryptonote protocol...
2018-03-14 14:05:03.470     7fa0d08cb780        INFO    global  src/daemon/protocol.h:58        Cryptonote protocol initialized OK
2018-03-14 14:05:03.470     7fa0d08cb780        INFO    global  src/daemon/p2p.h:63     Initializing p2p server...
2018-03-14 14:05:07.725     7fa0d08cb780        INFO    global  src/daemon/p2p.h:68     P2p server initialized OK
2018-03-14 14:05:07.725     7fa0d08cb780        INFO    global  src/daemon/rpc.h:63     Initializing core RPC server...
2018-03-14 14:05:07.725     7fa0d08cb780        INFO    global  contrib/epee/include/net/http_server_impl_base.h:76     Binding on 127.0.0.1:18081
2018-03-14 14:05:07.725     7fa0d08cb780        INFO    global  src/daemon/rpc.h:69     core RPC server initialized OK on port: 18081
2018-03-14 14:05:07.725     7fa0d08cb780        INFO    global  src/daemon/core.h:86    Initializing core...
2018-03-14 14:05:07.725     7fa0d08cb780        INFO    global  src/cryptonote_core/cryptonote_core.cpp:426     Loading blockchain from folder /home/ubuntu/.bitmonero/lmdb ...
2018-03-14 14:05:07.726     7fa0d08cb780        WARN    blockchain.db.lmdb      src/blockchain_db/lmdb/db_lmdb.cpp:75   Error attempting to retrieve a hard fork version at height 0 from the db: MDB_NOTFOUND: No matching key/data pair found
2018-03-14 14:05:07.782     7fa0d08cb780        INFO    global  src/cryptonote_core/cryptonote_core.cpp:524     Loading checkpoints
2018-03-14 14:05:07.853     7fa0d08cb780        WARN    net.dns src/common/dns_utils.cpp:508    WARNING: no two valid MoneroPulse DNS checkpoint records were received
2018-03-14 14:05:07.853     7fa0d08cb780        INFO    global  src/daemon/core.h:92    Core initialized OK
2018-03-14 14:05:07.853     7fa0d08cb780        INFO    global  src/daemon/rpc.h:74     Starting core RPC server...
2018-03-14 14:05:07.853 [SRV_MAIN]      INFO    global  src/daemon/rpc.h:79     core RPC server started ok
2018-03-14 14:05:07.854 [SRV_MAIN]      INFO    global  src/daemon/p2p.h:78     Starting p2p net loop...
2018-03-14 14:05:08.854 [P2P1]  INFO    global  src/cryptonote_core/cryptonote_core.cpp:1380
**********************************************************************
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.
Use "help <command>" to see a command's documentation.
**********************************************************************

2018-03-14 14:05:09.033 [P2P1]  WARN    net.dns src/common/dns_utils.cpp:508    WARNING: no two valid MoneroPulse DNS checkpoint records were received
2018-03-14 14:05:31.467 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:310     [201.243.239.81:18080 OUT] Sync data returned a new top block candidate: 1 -> 88194 [Your node is 88193 blocks (61 days) behind] 
SYNCHRONIZATION started
2018-03-14 14:05:31.603 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:310     [198.27.83.210:18080 OUT] Sync data returned a new top block candidate: 1 -> 1529571 [Your node is 1529570 blocks (1422 days) behind] 
SYNCHRONIZATION started
2018-03-14 14:05:31.945 [P2P9]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [198.27.83.210:18080 OUT]  Synced 101/1529571
2018-03-14 14:05:32.099 [P2P1]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [198.27.83.210:18080 OUT]  Synced 201/1529571
2018-03-14 14:05:32.235 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [198.27.83.210:18080 OUT]  Synced 301/1529571
2018-03-14 14:05:32.373 [P2P1]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [198.27.83.210:18080 OUT]  Synced 401/1529571
....
2018-03-14 17:29:28.313 [P2P6]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [138.201.60.198:8180 OUT]  Synced 1373712/1529677
2018-03-14 17:29:30.436 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [159.65.180.162:18080 OUT]  Synced 1373732/1529677
2018-03-14 17:29:30.476 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [159.65.180.162:18080 OUT]  Synced 1373752/1529677
2018-03-14 17:29:30.521 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [159.65.180.162:18080 OUT]  Synced 1373772/1529677
2018-03-14 17:29:30.568 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [159.65.180.162:18080 OUT]  Synced 1373792/1529677
2018-03-14 17:29:31.172 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [46.4.115.244:18080 OUT]  Synced 1373812/1529678
2018-03-14 17:29:31.230 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [46.4.115.244:18080 OUT]  Synced 1373832/1529678
2018-03-14 17:29:31.294 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [46.4.115.244:18080 OUT]  Synced 1373852/1529678
2018-03-14 17:29:33.491 [P2P1]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1373872/1529678
2018-03-14 17:29:33.528 [P2P1]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1373892/1529678
2018-03-14 17:29:33.610 [P2P1]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1373912/1529678
2018-03-14 17:29:35.340 [P2P3]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [175.100.229.201:18080 OUT]  Synced 1373932/1529678
2018-03-14 17:29:35.470 [P2P3]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [175.100.229.201:18080 OUT]  Synced 1373952/1529678
2018-03-14 17:29:35.510 [P2P3]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [175.100.229.201:18080 OUT]  Synced 1373972/1529678
2018-03-14 17:29:35.545 [P2P3]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [175.100.229.201:18080 OUT]  Synced 1373992/1529678
2018-03-14 17:29:35.597 [P2P3]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [175.100.229.201:18080 OUT]  Synced 1374012/1529678
....
2018-03-15 01:39:27.558 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529705/1529905
2018-03-15 01:39:30.650 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529725/1529905
2018-03-15 01:39:35.917 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529745/1529905
2018-03-15 01:39:38.774 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529765/1529905
2018-03-15 01:39:41.596 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529785/1529905
2018-03-15 01:39:45.872 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529805/1529905
2018-03-15 01:39:49.150 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529825/1529905
2018-03-15 01:39:52.294 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529845/1529905
2018-03-15 01:39:54.072 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529865/1529905
2018-03-15 01:39:58.084 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529885/1529905
2018-03-15 01:39:59.552 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529898/1529905
2018-03-15 01:40:01.494 [P2P7]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1167    [176.9.53.68:18080 OUT]  Synced 1529905/1529905
2018-03-15 01:40:03.368 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1579
**********************************************************************
You are now synchronized with the network. You may now start monero-wallet-cli.

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

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

  • how many blockchains we are behind the Monero network – “Synced 101/1529571”
  • how many days we are behind the Monero network – “Your node is 1529570 blocks (1422 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 47G 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 “monero-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 Monero node under Ubuntu 16 LTS

The program, which makes an Monero node in your computer, is called

monerod

You need a monero node to send and receive coins securely and privately. DO IT YOURSELF – the most secure way of generating a monero wallet address and making transactions such as 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 libzmq3-dev libunbound-dev libsodium-dev libminiupnpc-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz

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

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

git clone https://github.com/monero-project/monero
cd monero
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 monerod – Monero ‘Helium Hydra’

ls command shows the additional programs in the package.

srv@local:~/monero$ cd ./build/release/bin
srv@local:~/monero/build/release/bin$ ./monerod --version
Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f)
srv@local:~/monero/build/release/bin$ ls 
monero-blockchain-export  monero-blockchain-import  monerod  monero-gen-trusted-multisig  monero-wallet-cli  monero-wallet-rpc

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

* Here is the help output of “monerod” – the Monero node daemon:

srv@local:~/monero/build/release/bin$ ./monerod --help
Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f)

Usage: ./monerod [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/.bitmonero/bitmonero.conf, /home/ubuntu/.bitmonero/testnet/bitmonero.conf if 'testnet', /home/ubuntu/.bitmonero/stagenet/bitmonero.conf if 'stagenet')
                                        Specify configuration file
  --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/.bitmonero/bitmonero.log, /home/ubuntu/.bitmonero/testnet/bitmonero.log if 'testnet', /home/ubuntu/.bitmonero/stagenet/bitmonero.log if 'stagenet')
                                        Specify log file
  --log-level arg
  --max-log-file-size arg (=104850000)  Specify maximum log file size [B]
  --max-concurrency arg (=0)            Max number of threads to use for a 
                                        parallel job
  --zmq-rpc-bind-ip arg (=127.0.0.1)    IP for ZMQ RPC server to listen on
  --zmq-rpc-bind-port arg (=18082, 28082 if 'testnet', 38082 if 'stagenet')
                                        Port for ZMQ RPC server to listen on
  --data-dir arg (=/home/ubuntu/.bitmonero, /home/ubuntu/.bitmonero/testnet if 'testnet', /home/ubuntu/.bitmonero/stagenet if 'stagenet')
                                        Specify 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.
  --stagenet                            Run on stagenet. The wallet must be 
                                        launched with --stagenet flag.
  --enforce-dns-checkpointing           checkpoints from DNS server will be 
                                        enforced
  --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.
  --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 monero: 
                                        [disabled|notify|download|update]
  --fluffy-blocks                       Relay blocks as fluffy blocks 
                                        (obsolete, now default)
  --no-fluffy-blocks                    Relay blocks as normal blocks
  --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.
  --offline                             Do not listen for peers, nor connect to
                                        any
  --disable-dns-checkpoints             Do not retrieve checkpoints from DNS
  --max-txpool-size arg (=648000000)    Set maximum txpool size in bytes.
  --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)
  --db-type arg (=lmdb)                 Specify database type, available: lmdb
  --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
  --p2p-bind-ip arg (=0.0.0.0)          Interface for p2p network protocol
  --p2p-bind-port arg (=18080, 28080 if 'testnet', 38080 if 'stagenet')
                                        Port 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
  --out-peers arg (=-1)                 set max number of out peers
  --in-peers arg (=-1)                  set max number of in 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 monero
  --rpc-bind-port arg (=18081, 28081 if 'testnet', 38081 if 'stagenet')
                                        Port for RPC server
  --rpc-restricted-bind-port arg        Port for restricted RPC server
  --restricted-rpc                      Restrict RPC to view only commands and 
                                        do not return privacy sensitive data in
                                        RPC calls
  --bootstrap-daemon-address arg        URL of a 'bootstrap' remote daemon that
                                        the connected wallets can use while 
                                        this daemon is still not fully synced
  --bootstrap-daemon-login arg          Specify username:password for the 
                                        bootstrap daemon login
  --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
  --rpc-access-control-origins arg      Specify a comma separated list of 
                                        origins to allow cross origin resource 
                                        sharing

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

Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f)

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

Usage:
  monero-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
  --stagenet                            For stagenet. Daemon must also be 
                                        launched with --stagenet 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-device arg            Generate new wallet from device and 
                                        save it to <arg>
  --generate-from-view-key arg          Generate incoming-only wallet from view
                                        key
  --generate-from-spend-key arg         Generate deterministic wallet from 
                                        spend 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
  --restore-multisig-wallet             Recover multisig wallet using 
                                        Electrum-style mnemonic seed
  --non-deterministic                   Generate 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
  --do-not-relay                        The newly created transaction will not 
                                        be relayed to the monero network
  --create-address-file                 Create an address file for new wallets
  --log-file arg                        Specify log file
  --log-level arg                       0-4 or categories
  --max-log-file-size arg (=104850000)  Specify maximum log file size [B]
  --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
...
sudo apt-get install -y build-essential cmake pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libminiupnpc-dev libunwind8-dev liblzma-dev libreadline6-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 libsodium18 libssl-doc libstdc++-5-dev libthai-data libthai0 libtiff5 libtinfo-dev
  libtool libtsan0 libubsan0 libunbound2 libunwind-dev libunwind8 libvpx3 libxaw7 libxcb-render0 libxcb-shm0 libxmu6 libxpm4 libxrender1 libxt6
  libzmq5 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 readline-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 libreadline6-dev libsm6 libsodium-dev
  libsodium18 libssl-dev libssl-doc libstdc++-5-dev libthai-data libthai0 libtiff5 libtinfo-dev libtool libtsan0 libubsan0 libunbound-dev
  libunbound2 libunwind-dev libunwind8 libunwind8-dev libvpx3 libxaw7 libxcb-render0 libxcb-shm0 libxmu6 libxpm4 libxrender1 libxt6 libzmq3-dev
  libzmq5 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, 219 newly installed, 0 to remove and 3 not upgraded.
Need to get 135 MB of archives.
After this operation, 583 MB of additional disk space will be used.
......
......
......
srv@local:~$ git clone https://github.com/monero-project/monero
Cloning into 'monero'...
remote: Counting objects: 38845, done.
remote: Compressing objects: 100% (40/40), done.
remote: Total 38845 (delta 48), reused 58 (delta 40), pack-reused 38765
Receiving objects: 100% (38845/38845), 134.85 MiB | 32.30 MiB/s, done.
Resolving deltas: 100% (29307/29307), done.
Checking connectivity... done.
srv@local:~$ export CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe"
srv@local:~$ export CXXFLAGS="${CFLAGS}"
srv@local:~$ export CHOST="x86_64-pc-linux-gnu"
srv@local:~$ export MAKEOPTS="-j20"
srv@local:~$ cd monero/
srv@local:~/monero$ make -j 8
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 (using easylogging++)
-- 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 OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g") 
-- Using OpenSSL include dir at /usr/include
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'libpcsclite'
--   No package 'libpcsclite' found
-- Could NOT find PCSC (missing:  PCSC_LIBRARY PCSC_INCLUDE_DIR) 
-- Looking for memset_s in c
-- Looking for memset_s in c - not found
-- Looking for explicit_bzero in c
-- Looking for explicit_bzero in c - not found
-- Looking for strptime
-- Looking for strptime - found
-- 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
-- Performing Test _Wformat_c
-- Performing Test _Wformat_c - Success
-- Performing Test _Wformat_cxx
-- Performing Test _Wformat_cxx - Success
-- Performing Test _Wformat_security_c
-- Performing Test _Wformat_security_c - Success
-- Performing Test _Wformat_security_cxx
-- Performing Test _Wformat_security_cxx - Success
-- Performing Test _fstack_protector_c
-- Performing Test _fstack_protector_c - Success
-- Performing Test _fstack_protector_cxx
-- Performing Test _fstack_protector_cxx - Success
-- Performing Test _fstack_protector_strong_c
-- Performing Test _fstack_protector_strong_c - Success
-- Performing Test _fstack_protector_strong_cxx
-- Performing Test _fstack_protector_strong_cxx - Success
-- Looking for -pie linker flag
-- Looking for -pie linker flag - found
-- Looking for -Wl,-z,relro linker flag
-- Looking for -Wl,-z,relro linker flag - found
-- Looking for -Wl,-z,now linker flag
-- Looking for -Wl,-z,now linker flag - found
-- Looking for -Wl,-z,noexecstack linker flag
-- Looking for -Wl,-z,noexecstack linker flag - found
-- Looking for -Wl,-z,noexecheap linker flag
-- Looking for -Wl,-z,noexecheap linker flag - not found
-- Using C security hardening flags:  -Wformat -Wformat-security -fstack-protector -fstack-protector-strong
-- Using C++ security hardening flags:  -Wformat -Wformat-security -fstack-protector -fstack-protector-strong
-- Using linker security hardening flags:  -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack
-- AES support enabled
-- Found Boost Version: 105800
-- Found Readline: /usr/include  
-- Looking for rl_copy_text
-- Looking for rl_copy_text - found
-- Looking for rl_filename_completion_function
-- Looking for rl_filename_completion_function - found
-- Found readline library at: /usr
-- 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") 
-- Performing Test HAVE_C11
-- Performing Test HAVE_C11 - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/monero/build/release
make[1]: Entering directory '/home/ubuntu/monero/build/release'
make[2]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_cncrypto
Scanning dependencies of target lmdb
Scanning dependencies of target genversion
Scanning dependencies of target obj_ringct
Scanning dependencies of target obj_checkpoints
Scanning dependencies of target generate_translations_header
Scanning dependencies of target easylogging
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_device
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[  0%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/mdb.c.o
-- You are currently on commit a03d34f
[  1%] Building CXX object external/easylogging++/CMakeFiles/easylogging.dir/easylogging++.cc.o
[  2%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/aesb.c.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
-- The most recent tag was at 793bc97
-- You are ahead of or behind a tagged release
[  2%] Creating directories for 'generate_translations_header'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[  2%] Building CXX object src/checkpoints/CMakeFiles/obj_checkpoints.dir/checkpoints.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[  2%] Built target genversion
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[  2%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctOps.cpp.o
[  3%] Building CXX object src/device/CMakeFiles/obj_device.dir/device.cpp.o
Scanning dependencies of target obj_cryptonote_basic
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[  4%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/account.cpp.o
[  4%] No download step for 'generate_translations_header'
[  4%] No patch step for 'generate_translations_header'
[  5%] No update step for 'generate_translations_header'
[  5%] Performing configure step for 'generate_translations_header'
[  5%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/blake256.c.o
-- 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
[  6%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/chacha.c.o
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
[  6%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto-ops-data.c.o
-- Detecting C compiler ABI info - done
-- Detecting C compile features
[  6%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto-ops.c.o
-- 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
CMake Warning at CMakeLists.txt:38 (message):
  lrelease program not found, translation files not built


-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/monero/build/release/translations
[  7%] Performing build step for 'generate_translations_header'
make[4]: Entering directory '/home/ubuntu/monero/build/release/translations'
make[5]: Entering directory '/home/ubuntu/monero/build/release/translations'
make[6]: Entering directory '/home/ubuntu/monero/build/release/translations'
Scanning dependencies of target generate_translations_header
make[6]: Leaving directory '/home/ubuntu/monero/build/release/translations'
make[6]: Entering directory '/home/ubuntu/monero/build/release/translations'
[ 50%] Building C object CMakeFiles/generate_translations_header.dir/generate_translations_header.c.o
[100%] Linking C executable generate_translations_header
Generating embedded translations header
make[6]: Leaving directory '/home/ubuntu/monero/build/release/translations'
[100%] Built target generate_translations_header
make[5]: Leaving directory '/home/ubuntu/monero/build/release/translations'
make[4]: Leaving directory '/home/ubuntu/monero/build/release/translations'
[  8%] Performing install step for 'generate_translations_header'
[  8%] Completed 'generate_translations_header'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[  8%] Built target generate_translations_header
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[  8%] Generating stagenet_blocks.o
[  9%] Generating blocks.o
[  9%] Generating testnet_blocks.o
Scanning dependencies of target blocks
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 10%] Building C object src/blocks/CMakeFiles/blocks.dir/blockexports.c.o
[ 10%] Linking C static library libblocks.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 10%] Built target blocks
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_cryptonote_core
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 10%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/blockchain.cpp.o
[ 11%] Building CXX object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto.cpp.o
[ 12%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/midl.c.o
[ 12%] Linking C static library liblmdb.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 12%] Built target lmdb
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_multisig
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 12%] Building CXX object src/multisig/CMakeFiles/obj_multisig.dir/multisig.cpp.o
[ 12%] Building CXX object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto_device.cpp.o
[ 12%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctOps_device.cpp.o
[ 12%] Building CXX object src/device/CMakeFiles/obj_device.dir/device_default.cpp.o
[ 12%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/cryptonote_basic_impl.cpp.o
[ 12%] Linking CXX static library libeasylogging.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 12%] Built target easylogging
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_blockchain_db
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 13%] Building CXX object src/blockchain_db/CMakeFiles/obj_blockchain_db.dir/blockchain_db.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 13%] Built target obj_multisig
[ 13%] Building CXX object src/blockchain_db/CMakeFiles/obj_blockchain_db.dir/lmdb/db_lmdb.cpp.o
[ 13%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/groestl.c.o
[ 14%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-blake.c.o
[ 14%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-groestl.c.o
[ 14%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-jh.c.o
[ 15%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-skein.c.o
[ 16%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctSigs.cpp.o
[ 16%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash.c.o
[ 16%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/jh.c.o
[ 17%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/keccak.c.o
[ 17%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/oaes_lib.c.o
[ 17%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/random.c.o
[ 18%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/skein.c.o
[ 19%] Building CXX object src/device/CMakeFiles/obj_device.dir/log.cpp.o
[ 19%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/slow-hash.c.o
[ 20%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/tree-hash.c.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 20%] Built target obj_cncrypto
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_mnemonics
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 20%] Building CXX object src/mnemonics/CMakeFiles/obj_mnemonics.dir/electrum-words.cpp.o
[ 20%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/cryptonote_format_utils.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 20%] Built target obj_checkpoints
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_rpc
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 20%] Building CXX object src/rpc/CMakeFiles/obj_rpc.dir/core_rpc_server.cpp.o
[ 20%] Building CXX object src/rpc/CMakeFiles/obj_rpc.dir/instanciations.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 20%] Built target obj_device
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_rpc_base
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 21%] Building CXX object src/rpc/CMakeFiles/obj_rpc_base.dir/rpc_args.cpp.o
[ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctTypes.cpp.o
[ 21%] Building C object src/ringct/CMakeFiles/obj_ringct.dir/rctCryptoOps.c.o
[ 22%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/bulletproofs.cc.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 22%] Built target obj_rpc_base
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_p2p
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 23%] Building CXX object src/p2p/CMakeFiles/obj_p2p.dir/net_node.cpp.o
[ 25%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/difficulty.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 25%] Built target obj_ringct
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_cryptonote_protocol
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 25%] Building CXX object src/cryptonote_protocol/CMakeFiles/obj_cryptonote_protocol.dir/block_queue.cpp.o
[ 25%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/hardfork.cpp.o
[ 25%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/cryptonote_core.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 25%] Built target obj_blockchain_db
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_daemon_messages
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 25%] Building CXX object src/rpc/CMakeFiles/obj_daemon_messages.dir/message.cpp.o
[ 26%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/miner.cpp.o
[ 27%] Building CXX object src/cryptonote_protocol/CMakeFiles/obj_cryptonote_protocol.dir/cryptonote_protocol_handler-base.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 27%] Built target obj_p2p
[ 27%] Building CXX object src/rpc/CMakeFiles/obj_daemon_messages.dir/daemon_messages.cpp.o
[ 28%] 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/monero/build/release'
[ 28%] Built target obj_mnemonics
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_daemon_rpc_server
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 29%] Building CXX object src/rpc/CMakeFiles/obj_daemon_rpc_server.dir/daemon_handler.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 29%] Built target obj_cryptonote_protocol
[ 29%] Building CXX object src/rpc/CMakeFiles/obj_daemon_rpc_server.dir/zmq_server.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 29%] Built target obj_daemon_messages
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_serialization
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 29%] Building CXX object src/serialization/CMakeFiles/obj_serialization.dir/json_object.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_wallet
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 30%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet2.cpp.o
[ 30%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet_args.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 30%] Built target obj_cryptonote_basic
[ 31%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/node_rpc_proxy.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_daemonizer
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 31%] Building CXX object src/daemonizer/CMakeFiles/obj_daemonizer.dir/posix_fork.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 31%] Built target obj_cryptonote_core
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target googletest
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 32%] Creating directories for 'googletest'
[ 32%] No download step for 'googletest'
[ 33%] No patch step for 'googletest'
[ 33%] No update step for 'googletest'
[ 33%] 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
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 33%] Built target obj_daemonizer
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target epee_readline
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 33%] Building CXX object contrib/epee/src/CMakeFiles/epee_readline.dir/readline_buffer.cpp.o
-- Detecting C compiler ABI info - done
-- Detecting C compile features
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 33%] Built target obj_serialization
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target epee
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
-- Detecting C compile features - done
[ 33%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/hex.cpp.o
-- 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
[ 34%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/http_auth.cpp.o
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/monero/build/release/tests/gtest
[ 35%] Performing build step for 'googletest'
make[4]: Entering directory '/home/ubuntu/monero/build/release/tests/gtest'
make[5]: Entering directory '/home/ubuntu/monero/build/release/tests/gtest'
make[6]: Entering directory '/home/ubuntu/monero/build/release/tests/gtest'
Scanning dependencies of target gtest
make[6]: Leaving directory '/home/ubuntu/monero/build/release/tests/gtest'
make[6]: Entering directory '/home/ubuntu/monero/build/release/tests/gtest'
[ 25%] Building CXX object CMakeFiles/gtest.dir/src/gtest-all.cc.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 35%] Built target obj_daemon_rpc_server
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_version
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 35%] Building CXX object src/CMakeFiles/obj_version.dir/__/version.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 35%] Built target obj_version
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target obj_common
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 35%] Building CXX object src/common/CMakeFiles/obj_common.dir/base58.cpp.o
[ 35%] Building CXX object src/common/CMakeFiles/obj_common.dir/command_line.cpp.o
[ 36%] Linking CXX static library libepee_readline.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 36%] Built target epee_readline
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target version
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 36%] Linking CXX static library libversion.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 36%] Built target version
[ 36%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/mlog.cpp.o
[ 37%] Building CXX object src/common/CMakeFiles/obj_common.dir/dns_utils.cpp.o
[ 37%] Building CXX object src/common/CMakeFiles/obj_common.dir/download.cpp.o
[ 50%] Linking CXX static library libgtest.a
make[6]: Leaving directory '/home/ubuntu/monero/build/release/tests/gtest'
[ 50%] Built target gtest
make[6]: Entering directory '/home/ubuntu/monero/build/release/tests/gtest'
Scanning dependencies of target gtest_main
make[6]: Leaving directory '/home/ubuntu/monero/build/release/tests/gtest'
make[6]: Entering directory '/home/ubuntu/monero/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/monero/build/release/tests/gtest'
[100%] Built target gtest_main
make[5]: Leaving directory '/home/ubuntu/monero/build/release/tests/gtest'
make[4]: Leaving directory '/home/ubuntu/monero/build/release/tests/gtest'
[ 37%] No install step for 'googletest'
[ 37%] Completed 'googletest'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 37%] Built target googletest
[ 37%] Building CXX object src/common/CMakeFiles/obj_common.dir/util.cpp.o
[ 38%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/net_utils_base.cpp.o
[ 39%] Building CXX object src/common/CMakeFiles/obj_common.dir/i18n.cpp.o
[ 39%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/string_tools.cpp.o
[ 39%] Building CXX object src/common/CMakeFiles/obj_common.dir/password.cpp.o
[ 39%] Building CXX object src/common/CMakeFiles/obj_common.dir/perf_timer.cpp.o
[ 39%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/wipeable_string.cpp.o
[ 40%] Building C object contrib/epee/src/CMakeFiles/epee.dir/memwipe.c.o
[ 40%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/connection_basic.cpp.o
[ 40%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/network_throttle.cpp.o
[ 41%] Building CXX object src/common/CMakeFiles/obj_common.dir/threadpool.cpp.o
[ 41%] Building CXX object src/common/CMakeFiles/obj_common.dir/updates.cpp.o
[ 41%] Building CXX object src/common/CMakeFiles/obj_common.dir/stack_trace.cpp.o
[ 42%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/network_throttle-detail.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 42%] Built target obj_common
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 42%] Built target obj_rpc
[ 42%] Linking CXX static library libepee.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 42%] Built target epee
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target device
Scanning dependencies of target mnemonics
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target parse-url_fuzz_tests
Scanning dependencies of target http-client_fuzz_tests
[ 43%] Linking CXX static library libdevice.a
[ 43%] Linking CXX static library libmnemonics.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 44%] Building CXX object tests/fuzz/CMakeFiles/parse-url_fuzz_tests.dir/parse_url.cpp.o
[ 44%] Building CXX object tests/fuzz/CMakeFiles/parse-url_fuzz_tests.dir/fuzzer.cpp.o
[ 44%] Building CXX object tests/fuzz/CMakeFiles/http-client_fuzz_tests.dir/http-client.cpp.o
[ 45%] Building CXX object tests/fuzz/CMakeFiles/http-client_fuzz_tests.dir/fuzzer.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 45%] Built target device
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 45%] Built target mnemonics
Scanning dependencies of target cryptonote_basic
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 45%] Linking CXX static library libcryptonote_basic.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 45%] Built target cryptonote_basic
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target checkpoints
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 45%] Linking CXX static library libcheckpoints.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 45%] Built target checkpoints
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target ringct
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 46%] Linking CXX static library libringct.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 46%] Built target ringct
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target cncrypto
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 47%] Linking CXX static library libcncrypto.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 47%] Built target cncrypto
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target common
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 48%] Linking CXX static library libcommon.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 48%] Built target common
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target multisig
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target blockchain_db
Scanning dependencies of target rpc_base
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 48%] Linking CXX static library libmultisig.a
[ 48%] Linking CXX static library libblockchain_db.a
[ 48%] Linking CXX static library librpc_base.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 48%] Built target rpc_base
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 48%] Built target multisig
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 48%] Built target blockchain_db
Scanning dependencies of target daemonizer
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target levin_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target load-from-binary_fuzz_tests
[ 48%] Linking CXX static library libdaemonizer.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 48%] Building CXX object tests/fuzz/CMakeFiles/load-from-binary_fuzz_tests.dir/load_from_binary.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 48%] Building CXX object tests/fuzz/CMakeFiles/levin_fuzz_tests.dir/levin.cpp.o
[ 48%] Built target daemonizer
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target load-from-json_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 50%] Building CXX object tests/fuzz/CMakeFiles/load-from-json_fuzz_tests.dir/load_from_json.cpp.o
[ 50%] Building CXX object tests/fuzz/CMakeFiles/load-from-json_fuzz_tests.dir/fuzzer.cpp.o
[ 51%] Building CXX object tests/fuzz/CMakeFiles/levin_fuzz_tests.dir/fuzzer.cpp.o
[ 52%] Linking CXX executable parse-url_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 52%] Built target parse-url_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target base58_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 52%] Building CXX object tests/fuzz/CMakeFiles/base58_fuzz_tests.dir/base58.cpp.o
[ 52%] Building CXX object tests/fuzz/CMakeFiles/base58_fuzz_tests.dir/fuzzer.cpp.o
[ 53%] Building CXX object tests/fuzz/CMakeFiles/load-from-binary_fuzz_tests.dir/fuzzer.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target hash-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 54%] Building CXX object tests/hash/CMakeFiles/hash-tests.dir/main.cpp.o
[ 54%] Linking CXX executable hash-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 54%] Built target hash-tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target cryptonote_core
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 55%] Linking CXX static library libcryptonote_core.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 55%] Built target cryptonote_core
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target p2p
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 55%] Linking CXX static library libp2p.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 55%] Built target p2p
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target hash-target-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 55%] Building CXX object tests/CMakeFiles/hash-target-tests.dir/hash-target.cpp.o
[ 55%] Linking CXX executable http-client_fuzz_tests
[ 56%] Linking CXX executable base58_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 56%] Built target http-client_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target core_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 56%] Built target base58_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target transaction_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 57%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/block_reward.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 58%] Building CXX object tests/fuzz/CMakeFiles/transaction_fuzz_tests.dir/transaction.cpp.o
[ 58%] Building CXX object tests/fuzz/CMakeFiles/transaction_fuzz_tests.dir/fuzzer.cpp.o
[ 58%] Linking CXX executable load-from-binary_fuzz_tests
[ 58%] Linking CXX executable hash-target-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 58%] Built target load-from-binary_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target block_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 58%] Building CXX object tests/fuzz/CMakeFiles/block_fuzz_tests.dir/block.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 58%] Built target hash-target-tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target difficulty-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 59%] Building CXX object tests/difficulty/CMakeFiles/difficulty-tests.dir/difficulty.cpp.o
[ 59%] Linking CXX executable load-from-json_fuzz_tests
[ 59%] Linking CXX executable difficulty-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 59%] Built target difficulty-tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target net_load_tests_clt
[ 59%] Built target load-from-json_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target net_load_tests_srv
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 59%] Building CXX object tests/net_load_tests/CMakeFiles/net_load_tests_clt.dir/clt.cpp.o
[ 59%] Building CXX object tests/net_load_tests/CMakeFiles/net_load_tests_srv.dir/srv.cpp.o
[ 59%] Linking CXX executable levin_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 59%] Built target levin_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target cryptonote_protocol
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 59%] Building CXX object tests/fuzz/CMakeFiles/block_fuzz_tests.dir/fuzzer.cpp.o
[ 59%] Linking CXX static library libcryptonote_protocol.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 59%] Built target cryptonote_protocol
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 60%] Generating blocksdat.o
Scanning dependencies of target blockchain_import
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 60%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/blockchain_import.cpp.o
[ 60%] Linking CXX executable transaction_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 60%] Built target transaction_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target blockchain_export
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 60%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/blockchain_export.cpp.o
[ 61%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/bootstrap_file.cpp.o
[ 62%] Linking CXX executable block_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 62%] Built target block_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target core_proxy
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 62%] Building CXX object tests/core_proxy/CMakeFiles/core_proxy.dir/core_proxy.cpp.o
[ 62%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/block_validation.cpp.o
[ 62%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/blocksdat_file.cpp.o
[ 62%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/bootstrap_file.cpp.o
[ 63%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/blocksdat_file.cpp.o
[ 63%] Linking CXX executable net_load_tests_srv
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 63%] Built target net_load_tests_srv
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target rpc
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 63%] Linking CXX static library librpc.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 63%] Built target rpc
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target serialization
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 64%] Linking CXX static library libserialization.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 64%] Built target serialization
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target daemon_messages
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 64%] Linking CXX static library libdaemon_messages.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 64%] Built target daemon_messages
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target daemon_rpc_server
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 65%] Linking CXX static library libdaemon_rpc_server.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 65%] Built target daemon_rpc_server
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 65%] Generating blocksdat.o
Scanning dependencies of target daemon
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 66%] Building CXX object src/daemon/CMakeFiles/daemon.dir/command_parser_executor.cpp.o
[ 66%] Linking CXX executable ../../bin/monero-blockchain-export
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 66%] Built target blockchain_export
[ 66%] Building CXX object src/daemon/CMakeFiles/daemon.dir/command_server.cpp.o
[ 66%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/chain_split_1.cpp.o
[ 67%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/chain_switch_1.cpp.o
[ 67%] Linking CXX executable ../../bin/monero-blockchain-import
[ 68%] Linking CXX executable net_load_tests_clt
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 68%] Built target blockchain_import
[ 68%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/chaingen.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 68%] Built target net_load_tests_clt
[ 68%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/chaingen001.cpp.o
[ 69%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/chaingen_main.cpp.o
[ 69%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/double_spend.cpp.o
[ 69%] Building CXX object src/daemon/CMakeFiles/daemon.dir/daemon.cpp.o
[ 70%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/integer_overflow.cpp.o
[ 71%] Building CXX object src/daemon/CMakeFiles/daemon.dir/executor.cpp.o
[ 71%] Building CXX object src/daemon/CMakeFiles/daemon.dir/main.cpp.o
[ 71%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/multisig.cpp.o
[ 71%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/ring_signature_1.cpp.o
[ 71%] Linking CXX executable core_proxy
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 71%] Built target core_proxy
[ 72%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/transaction_tests.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 72%] Built target obj_wallet
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target wallet
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 72%] Linking CXX static library ../../lib/libwallet.a
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 72%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/tx_validation.cpp.o
[ 72%] Built target wallet
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target wallet_rpc_server
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 72%] Building CXX object src/wallet/CMakeFiles/wallet_rpc_server.dir/wallet_rpc_server.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target simplewallet
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 72%] Building CXX object src/simplewallet/CMakeFiles/simplewallet.dir/simplewallet.cpp.o
[ 72%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/v2_tests.cpp.o
[ 73%] Building CXX object src/daemon/CMakeFiles/daemon.dir/rpc_command_executor.cpp.o
[ 75%] Building CXX object tests/core_tests/CMakeFiles/core_tests.dir/rct.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target gen_multisig
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 75%] Building CXX object src/gen_multisig/CMakeFiles/gen_multisig.dir/gen_multisig.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target cold-outputs_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 75%] Building CXX object tests/fuzz/CMakeFiles/cold-outputs_fuzz_tests.dir/cold-outputs.cpp.o
[ 76%] Building CXX object tests/fuzz/CMakeFiles/cold-outputs_fuzz_tests.dir/fuzzer.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target signature_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 76%] Building CXX object tests/fuzz/CMakeFiles/signature_fuzz_tests.dir/signature.cpp.o
[ 77%] Linking CXX executable ../../bin/monero-gen-trusted-multisig
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 77%] Built target gen_multisig
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target cold-transaction_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 78%] Building CXX object tests/fuzz/CMakeFiles/cold-transaction_fuzz_tests.dir/cold-transaction.cpp.o
[ 78%] Building CXX object tests/fuzz/CMakeFiles/cold-transaction_fuzz_tests.dir/fuzzer.cpp.o
[ 78%] Building CXX object tests/fuzz/CMakeFiles/signature_fuzz_tests.dir/fuzzer.cpp.o
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target cncrypto-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 78%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto-ops-data.c.o
[ 78%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto-ops.c.o
[ 78%] Linking CXX executable cold-outputs_fuzz_tests
[ 79%] Linking CXX executable signature_fuzz_tests
[ 80%] Building CXX object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 80%] Built target cold-outputs_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target functional_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 80%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/main.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 80%] Built target signature_fuzz_tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target performance_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 80%] Building CXX object tests/performance_tests/CMakeFiles/performance_tests.dir/main.cpp.o
[ 80%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/hash.c.o
[ 80%] Building CXX object tests/crypto/CMakeFiles/cncrypto-tests.dir/main.cpp.o
[ 81%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/random.c.o
[ 81%] Linking CXX executable cncrypto-tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 81%] Built target cncrypto-tests
make[3]: Entering directory '/home/ubuntu/monero/build/release'
Scanning dependencies of target unit_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
make[3]: Entering directory '/home/ubuntu/monero/build/release'
[ 82%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/apply_permutation.cpp.o
[ 82%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/transactions_flow_test.cpp.o
[ 82%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/address_from_url.cpp.o
[ 82%] Linking CXX executable ../../bin/monerod
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 82%] Built target daemon
[ 83%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/ban.cpp.o
[ 83%] Linking CXX executable cold-transaction_fuzz_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 83%] Built target cold-transaction_fuzz_tests
[ 83%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/base58.cpp.o
[ 83%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/blockchain_db.cpp.o
[ 83%] Linking CXX executable ../../bin/monero-wallet-cli
[ 83%] Linking CXX executable performance_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 83%] Built target simplewallet
[ 84%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/block_queue.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 84%] Built target performance_tests
[ 84%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/block_reward.cpp.o
[ 85%] Linking CXX executable ../../bin/monero-wallet-rpc
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 85%] Built target wallet_rpc_server
[ 85%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/bulletproofs.cpp.o
[ 86%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/canonical_amounts.cpp.o
[ 86%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/chacha.cpp.o
[ 86%] Linking CXX executable core_tests
[ 86%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/checkpoints.cpp.o
[ 87%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/command_line.cpp.o
[ 87%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/crypto.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 87%] Built target core_tests
[ 87%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/decompose_amount_into_digits.cpp.o
[ 88%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/dns_resolver.cpp.o
[ 88%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_boosted_tcp_server.cpp.o
[ 89%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_levin_protocol_handler_async.cpp.o
[ 89%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_utils.cpp.o
[ 89%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/fee.cpp.o
[ 90%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/transactions_generation_from_blockchain.cpp.o
[ 91%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/get_xtype_from_string.cpp.o
[ 91%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/http.cpp.o
[ 91%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/hashchain.cpp.o
[ 92%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/main.cpp.o
[ 92%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/memwipe.cpp.o
[ 92%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/mnemonics.cpp.o
[ 92%] Linking CXX executable functional_tests
[ 93%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/mul_div.cpp.o
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[ 93%] Built target functional_tests
[ 93%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/multisig.cpp.o
[ 93%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/parse_amount.cpp.o
[ 94%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/serialization.cpp.o
[ 94%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/sha256.cpp.o
[ 94%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/slow_memmem.cpp.o
[ 95%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/subaddress.cpp.o
[ 95%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_tx_utils.cpp.o
[ 96%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_peerlist.cpp.o
[ 96%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_protocol_pack.cpp.o
[ 96%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/hardfork.cpp.o
[ 97%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/unbound.cpp.o
[ 97%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/uri.cpp.o
[ 97%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/varint.cpp.o
[ 98%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/ringct.cpp.o
[ 98%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/output_selection.cpp.o
[ 98%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/vercmp.cpp.o
[100%] Linking CXX executable unit_tests
make[3]: Leaving directory '/home/ubuntu/monero/build/release'
[100%] Built target unit_tests
make[2]: Leaving directory '/home/ubuntu/monero/build/release'
make[1]: Leaving directory '/home/ubuntu/monero/build/release'

Howto do a netinstall of Ubuntu 16.04 LTS – minimal server installation

Minimal net install is useful when a dedicated server is installed from a IPMI KVM or Dell iDRAC, HP iLO, IBM IMM or where the initial download of files need to be minimal.

STEP 1) To do a Ubuntu net install first download the correct ISO file from Ubuntu site.

For amd64 Ubuntu 16.04 the net install bootable media is located here (the netboot image is required):

http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/

Download “mini.iso”:

http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/mini.iso

The ISO is just only 62Mbytes, so when installing from a remote management utility (some of the different IPMI KVMs) only 62Mbytes will be transferred from the client to the server and all other packets will be downloaded from the Ubuntu mirrors.

STEP 2) Select “Install” and press Enter to select installation and to continue.

main menu
Installer boot menu

STEP 3) Select your preferred language for the installation steps, this tutorial use English, so probably it is a good idea to just select “English”.

main menu
Select a language

STEP 4) Select the location of your machine you are installing. The default is “United States”.

main menu
Select your location

STEP 5) Autodetect your keyboard layout is skipped (the next step is for manual choosing the keyboard layout), just press “No”.

main menu
Configure the keyboard

STEP 6) Select the country of origin for the keyboard your are using.

main menu
Configure the keyboard 2

STEP 7) Select your keyboard layout – most used is “English (US)”, but if your keyboard is in different language you could select it from the menu. And then press Enter.

main menu
Configure the keyboard 3

STEP 8) You’ll see a couple of dialogs about the network setup, press immediately Cancel (the Cancel is the default, so just press couple of times “Enter”) to cancel the DHCP setup of the network. When installing a dedicated server you must have the IP from your provider of the service. When installing at home probably you could just leave it without pressing “Cancel” and your home router will configure the IP of your machine. Here we describe the manual process of setting the network.

main menu
Configure the network

STEP 9) After canceling the default process of network setup, there will be showed “Network configuration failed.”. Press “Enter” to continue with manual network configuration.

main menu
Configure the network 2

STEP 10) Mark “Configure network manually” and press “Enter”.

main menu
Configure the network 3

STEP 11) Set your IP address, the IP address of our dedicated server is 192.168.0.100 And press “tab” to mark “Continue” and then press “Enter”.

main menu
Configure the network – The IP address

STEP 12) Set your netmask of the network. Here we set up the whole subnetwork /24, so the netmask is 255.255.255.0 And press “tab” to mark “Continue” and then press “Enter”.

main menu
Configure the network – The netmask of your network.

STEP 13) Set the gateway of the network, the router IP (from where the Internet “comes”). Our router has IP 192.168.0.1 And press “tab” to mark “Continue” and then press “Enter”.

main menu
Configure the network – The gateway

STEP 14) Set the nameservers to be used for resolving domain names to IP addresses, probably this is the IP of your router (as in our case), but you could use for example google DNS servers “8.8.8.8,8.8.4.4”. If you have more than one,just use commas to separate the IP addresses.

main menu
Configure the network – The Name server address

STEP 15) Set the hostname of your server, this is the name of your machine. We use “ubuntu-test”. Or you can use more meaningful name like “srv1-dns-eu”

main menu
Configure the network – The hostname

STEP 16) The domain name part of the server’s name if any. Leave blank or if you have it will be sort of “cdn.com”,so the fully qualified domain name (FQDN) will be “srv1-dns-eu.cdn.com”

main menu
Configure the network – The full domain name

STEP 17) Select the source of the installation files and packages. Choose the nearest location to your machine to be sure the fastest speed and fast installation.

main menu
Choose a mirror of the Ubuntu archive

STEP 18) The installation process will offer the right name of the mirror servers, select it and press “Enter”.

main menu
Choose a mirror of the Ubuntu archive 2

STEP 19) If you need a proxy to connect to the Internet it is time to set it up, but probably you do not need it, so leave blank, press “tab” to mark “Continue” and press “Enter”

main menu
Choose a mirror of the Ubuntu archive 3

STEP 20) …

main menu
Setup is now working…

STEP 21) You must create a user account, which will have the ability to escalate to root, default process of installation do not allow to set root password, but a user, which could switch to root. Set the Full name of your user (it could be just the username as shown). And press “tab” to mark “Continue” and then press “Enter”.

main menu
Set up users and passwords

STEP 22) Set the username, how you log in the system. We used the same as the Fullname from the previous step. And press “tab” to mark “Continue” and then press “Enter”.

main menu
Set up users and passwords – username

STEP 23) Set the password of the user. And press “tab” to mark “Continue” and then press “Enter”.

main menu
Set up users and passwords – password

STEP 24) Repeate the password of the user to verify you have typed it correctly. And press “tab” to mark “Continue” and then press “Enter”.

main menu
Set up users and passwords – repeate password

STEP 25) If you would like you can encrypt your home directory. Most cases for servers, mark the default “No”, but for laptop or home desktop machine it it advisable to encrypt your personal data! So mark your choice and press “Enter”.

main menu
Set up users and passwords – home directory encryption

STEP 26) Set the right timezone of your machine, most time for servers it is UTC and for leave it as detected. Press “Enter”.

main menu
Configure the clock

STEP 27) Detecting disks configuration.

main menu
Setup is now working…

STEP 28) The easiest way here is to use the entire disk for Ubuntu installation. All other options are for another tutorial, which could get more complicated. That’s why we use “Guided – use entire disk” for simplicity. It could be used LVM or encrypted LVM, too. Here we chose the simplest option.

main menu
Partition disks

STEP 29) Select the disk to use for your ubuntu installation, if you have multiple disk be sure to select the right one! Choosing a wrong disk could lead to data loss. Press “Enter” to continue.

main menu
Partition disks – select disk device

STEP 30) The user must confirm the changes on the disk, as it is written this operation will erased all the information ot your selected disk!!! Be sure you marked “Yes” and press “Enter”.

main menu
Partition disks – confirmation

STEP 31) Installing the base system.

main menu
Setup is now working…

STEP 32) Just select “No automatic updates” and hit “Enter”. Always update your system when you are online, becuase sometimes during update process there are service restarts, which could be critical for your server. So guided updates are always the right way!

main menu
Configuring console-setup

STEP 33) Select and install software.

main menu
Setup is now working…

STEP 34) What kind of system do you build? GUI, server or with specific services? These are predefined collections ensuring to install the right packages for the coresponding software collection.

main menu
Software selection

STEP 35) We selected only OpenSSH server and Basic Ubuntu server, because we want to install a base linux system with remote access. Press “tab” and mark “Continue”, the press “Enter”.

main menu
Software selection 2

STEP 36) Select and install software.

main menu
Setup is now working…

STEP 37) Installing GRUB boot loader.

main menu
Setup is now working…

STEP 38) Because this will be the only operating system, it is safe to install the GRUB to the master boot record. Mark “Yes” an hit “Enter”

main menu
Install the GRUB boot loader on a hard disk

STEP 39) In most cases the system clock is set to UTC, so just press “Enter”. No problem to change this settings your case is not the same.

main menu
Finish the Installation

STEP 40) Remove the installation disk – CD, DVD, unmap virtual CD/DVD or USB and then press “Continue”. The machine will restart.

main menu
Finish the Installation 2

STEP 41) Ubuntu 16.04 is booting…

main menu
Booting…

STEP 42) The machine is working properly, it is logged with myuser.

main menu
Login

STEP 43) And here are the running programs of a base Ubuntu system.

main menu
Running software

Compilation failure with Value too large for defined data type in Gentoo

It has happened several times for the last 10 years, a program to fail during the configure stage with a strange error:

checking whether we are cross compiling...  * /var/tmp/portage/sys-apps/sandbox-2.12/work/sandbox-2.12/libsandbox/libsandbox.c:check_syscall():968: failure (Value too large for defined data type):
 * ISE: fopen_wr(conftest.out)
        abs_path: (null)
        res_path: /var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13-abi_x86_32.x86/conftest.out
configure: error: in `/var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13-abi_x86_32.x86':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

It’s like the “./conftest” is made and the execution failed?

Last package it happened was when trying to build

sys-apps/sandbox-2.13

but it is not especially related to this Gentoo package or even to Gentoo!

And the debug.log is not informative neither:

configure:3793: ./conftest
/usr/lib32/libsandbox.so(+0xb238)[0xf7738238]
/usr/lib32/libsandbox.so(+0xb2c7)[0xf77382c7]
/usr/lib32/libsandbox.so(+0x40b1)[0xf77310b1]
/usr/lib32/libsandbox.so(+0x421e)[0xf773121e]
/usr/lib32/libsandbox.so(fopen+0x55)[0xf7733e45]
./conftest(+0x4a1)[0x565754a1]
/lib32/libc.so.6(__libc_start_main+0xf6)[0xf7561956]
./conftest(+0x508)[0x56575508]
/proc/23882/cmdline: ./conftest 

/var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13/configure: line 3795: 23882 Aborted                 ./conftest$ac_cv_exeext
configure:3797: $? = 134
configure:3804: error: in `/var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13-abi_x86_32.x86':
configure:3806: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

After some debugging it turned out the problem was the

XFS filesystem

The root was formatted with XFS and therefore

/var/tmp/portage

where all the compilation occurred was on a xfs formatted partition!
It is easy to resolve the issue, just mount your “/var/tmp/portage” on another filesystem, if you do not have any spare devices or places with other filesystem, you could always mount it using

tmpfs

(using your memory for the directory) like this:

mount -t tmpfs -o size=4096m tmpfs /var/tmp/portage/

You can adjust the size with “size” parameter, but most of the program require a way below 4G of space. And do not forget mounting your build directory in the tmpfs speeds up the emerge process significantly!

And probably it is a good idea before mounting it to delete all old sub-directories, because they can take much space and they are left there after failed compilations of packages.

rm -R /var/tmp/portage/*

PS: It was the same with compilation of

sys-devel/gcc-7.3.0

configure: updating cache ./config.cache
 * /var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13/libsandbox/libsandbox.c:check_syscall():968: failure (Value too large for defined data type):
 * ISE: fopen_wr(conftest.val)
        abs_path: (null)
        res_path: /var/tmp/portage/sys-devel/gcc-7.3.0/work/build/x86_64-pc-linux-gnu/32/libgomp/conftest.val
configure: error: unsupported system, cannot find sizeof (omp_lock_t)
make[2]: *** [Makefile:20106: configure-stage1-target-libgomp] Error 1
make[2]: Leaving directory '/var/tmp/portage/sys-devel/gcc-7.3.0/work/build'
make[1]: *** [Makefile:22189: stage1-bubble] Error 2
make[1]: Leaving directory '/var/tmp/portage/sys-devel/gcc-7.3.0/work/build'
make: *** [Makefile:22521: bootstrap-lean] Error 2
 * ERROR: sys-devel/gcc-7.3.0::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-devel/gcc-7.3.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-7.3.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-devel/gcc-7.3.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-7.3.0/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-devel/gcc-7.3.0/work/build'
 * S: '/var/tmp/portage/sys-devel/gcc-7.3.0/work/gcc-7.3.0'
 * 
 * Please include /var/tmp/portage/sys-devel/gcc-7.3.0/work/gcc-build-logs.tar.bz2 in your bug report.
 * 

>>> Failed to emerge sys-devel/gcc-7.3.0, Log file:

The problem is the same, compiling on

XFS filesystem

Bacula – show configuration, status and information with bconsole tool

The following list of commands could be used to get a brief or detailed view of a Bacula backup server from the management utility

bconsole

. These commands are extremely useful for getting information on the backup process and policy and Bacula troubleshooting – could be used for fast debugging of an error, problems or misconfiguration.

the following commands give information for

  • Jobs

    list jobtotals Lists stats for all jobs, it also shows all jobs’ names
    show jobs Lists all jobs with their full configurations – show all jobs and for each job show detail explanation of what represent. The detail output includes full configuration of a job including client, catalog, fileset,schedule,pool,message. This will show all relationships between the different components of bacula system, how and which clients,storages,pools,schedules,filesets relate to. You’ll a thoroughly view of how let’s say a server is made the backup.
    show job=[job_name] shows full configuration for a job, the name could be taken by the two above commands
    list jobs Lists all jobs’ status – ID, StartTime, Type (backup?), Level (Full, increment, differential?), Files and bytes processed and the status of the job (Terminated normally, Running,Fatal error and so on)
    list files jobid=[ID] which files were included in the backup? Lists all paths and files included in the backup, not a configuration set but real physical path and filenames.
    status dir if you want to find all scheduled jobs for the next day (or more if you add a parameter). This will show the status of the director process.
  • Storages

    status storage list storage devices and their status – you can see the physical path on the filesystem where the Devices will put backup files
  • Clients

    show client show all clients’ names and backup policy
    status client=[client_name] show client status and what is doing, check the network connection between the director and the client, last terminated jobs and their status.
  • Filesets

    show fileset show all filesets, a fileset is a set with files and directories to include or exclude from a backup.
  • Schedule

    show schedule shows all registered schedulers and details for each one (Run Level=Full,Differential,Incremental), months, days, minutes.
    show schedule=[scheduler_name] shows details for a schedule with name scheduler_name (Run Level=Full,Differential,Incremental), months, days, minutes. It’s like the schedule backup plan of a server
  • Director

    message shows the last message of the backup process. If empty all logs of the backup process could be found in “/var/log/bacula/bacula.log”
    reload the director will re-read its all configuration files. Should be used when adding configuration files.

And here is the example output of the above commands with a little bit of explanation:

  • Jobs

    1) Get the stats and the jobs’ names, the names could be used in many other commands!

    srvbkp@local # bconsole 
    Connecting to Director localhost:9101
    1000 OK: 1 srvbkp-dir Version: 7.0.5 (28 July 2014)
    Enter a period to cancel a command.
    *list jobtotals
    Automatically selected Catalog: allbackup
    Using Catalog "allbackup"
    +------+-----------+-------------------+--------------------------------+
    | Jobs | Files     | Bytes             | Job                            |
    +------+-----------+-------------------+--------------------------------+
    |   90 |        90 |   123,665,584,337 | BackupCatalog                  |
    |    5 |         5 |   281,593,737,603 | RestoreFiles                   |
    |   13 | 1,232,316 |   118,480,634,434 | srv1-media                     |
    |   32 |        12 |             3,674 | srv1-dns                       |
    |   32 |        10 |             3,064 | srv2-dns                       |
    |   32 |        10 |             3,064 | srv3-dns                       |
    |   32 |        10 |             3,086 | srv4-dns                       |
    |   32 |        10 |             3,084 | srv5-dns                       |
    |   26 | 3,837,536 |   587,812,183,466 | srv1-images                    |
    +------+-----------+-------------------+--------------------------------+
    +-------+------------+-------------------+
    | Jobs  | Files      | Bytes             |
    +-------+------------+-------------------+
    | 1,474 | 14,925,321 | 5,475,024,028,957 |
    +-------+------------+-------------------+
    *
    

    2) Get all configurations for all jobs, here are included only two for clarity. All needed information for taking a backup of a server. You can see the files, which will be included (or excluded), where the backup will be stored when will happen in time, and how many different types of backup will be done – full, incremental, and differential. And this whole information is for all clients (servers).

    *show jobs
    Job: name=srv1-dns JobType=66 level= Priority=10 Enabled=1
         MaxJobs=1 Resched=0 Times=0 Interval=1,800 Spool=0 WritePartAfterJob=1
         Accurate=0
      --> Client: name=srv1-dns address=192.168.0.100 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
      --> FileSet: name=bind
          O MZ6
          N
          I /var/lib/named
          N
      --> Schedule: name=bind
      --> Run Level=Full
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=0 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Differential
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=1 2 3 4 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Incremental
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=1 2 3 4 5 6 
          wom=0 1 2 3 4 5 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Storage: name=bind address=192.168.0.10 SDport=9103 MaxJobs=10
          DeviceName=bind MediaType=File StorageId=17
      --> Pool: name=Default PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=100 auto_prune=1 VolRetention=1 year 
          VolUse=0 secs recycle=1 LabelFormat=*None*
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=53687091200
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-full PoolType=Backup
          use_cat=1 use_once=1 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=2 months 
          VolUse=0 secs recycle=1 LabelFormat=bind-full
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-incr PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=7 days 
          VolUse=23 hours  recycle=1 LabelFormat=bind-incr
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-diff PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=1 month 1 day 
          VolUse=0 secs recycle=1 LabelFormat=bind-diff
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Messages: name=Standard
          mailcmd=/usr/sbin/bsmtp -h localhost -f "(Bacula) <%r>" -s "Bacula: %t %e of %c %l" %r
          opcmd=/usr/sbin/bsmtp -h localhost -f "(Bacula) <%r>" -s "Bacula: Intervention needed for %j" %r
    Job: name=srv2-dns JobType=66 level= Priority=10 Enabled=1
         MaxJobs=1 Resched=0 Times=0 Interval=1,800 Spool=0 WritePartAfterJob=1
         Accurate=0
      --> Client: name=srv2-dns address=192.168.0.101 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
      --> FileSet: name=bind
          O MZ6
          N
          I /var/lib/named
          N
      --> Schedule: name=bind
      --> Run Level=Full
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=0 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Differential
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=1 2 3 4 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Incremental
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=1 2 3 4 5 6 
          wom=0 1 2 3 4 5 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Storage: name=bind address=192.168.0.10 SDport=9103 MaxJobs=10
          DeviceName=bind MediaType=File StorageId=17
      --> Pool: name=Default PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=100 auto_prune=1 VolRetention=1 year 
          VolUse=0 secs recycle=1 LabelFormat=*None*
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=53687091200
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-full PoolType=Backup
          use_cat=1 use_once=1 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=2 months 
          VolUse=0 secs recycle=1 LabelFormat=bind-full
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-incr PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=7 days 
          VolUse=23 hours  recycle=1 LabelFormat=bind-incr
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-diff PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=1 month 1 day 
          VolUse=0 secs recycle=1 LabelFormat=bind-diff
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Messages: name=Standard
          mailcmd=/usr/sbin/bsmtp -h localhost -f "(Bacula) <%r>" -s "Bacula: %t %e of %c %l" %r
          opcmd=/usr/sbin/bsmtp -h localhost -f "(Bacula) <%r>" -s "Bacula: Intervention needed for %j" %r
    

    3) You can get the full configuration information of a job (the information is the same as above, but for a given job name, which could be taken from the first command above, it is not necessary to output all the configurations every time):

    srvbkp@local # bconsole 
    Connecting to Director localhost:9101
    1000 OK: 1 srvbkp-dir Version: 7.0.5 (28 July 2014)
    Enter a period to cancel a command.
    *show jobs=srv2-dns
    Job: name=srv2-dns JobType=66 level= Priority=10 Enabled=1
         MaxJobs=1 Resched=0 Times=0 Interval=1,800 Spool=0 WritePartAfterJob=1
         Accurate=0
      --> Client: name=srv2-dns address=192.168.0.101 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
      --> FileSet: name=bind
          O MZ6
          N
          I /var/lib/named
          N
      --> Schedule: name=bind
      --> Run Level=Full
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=0 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Differential
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=1 2 3 4 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Incremental
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=1 2 3 4 5 6 
          wom=0 1 2 3 4 5 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Storage: name=bind address=192.168.0.10 SDport=9103 MaxJobs=10
          DeviceName=bind MediaType=File StorageId=17
      --> Pool: name=Default PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=100 auto_prune=1 VolRetention=1 year 
          VolUse=0 secs recycle=1 LabelFormat=*None*
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=53687091200
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-full PoolType=Backup
          use_cat=1 use_once=1 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=2 months 
          VolUse=0 secs recycle=1 LabelFormat=bind-full
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-incr PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=7 days 
          VolUse=23 hours  recycle=1 LabelFormat=bind-incr
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Pool: name=bind-diff PoolType=Backup
          use_cat=1 use_once=0 cat_files=1
          max_vols=0 auto_prune=1 VolRetention=1 month 1 day 
          VolUse=0 secs recycle=1 LabelFormat=bind-diff
          CleaningPrefix=*None* LabelType=0
          RecyleOldest=0 PurgeOldest=0 ActionOnPurge=0
          MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=0
          MigTime=0 secs MigHiBytes=0 MigLoBytes=0
          JobRetention=0 secs FileRetention=0 secs
      --> Messages: name=Standard
          mailcmd=/usr/sbin/bsmtp -h localhost -f "(Bacula) <%r>" -s "Bacula: %t %e of %c %l" %r
          opcmd=/usr/sbin/bsmtp -h localhost -f "(Bacula) <%r>" -s "Bacula: Intervention needed for %j" %r
    

    4) Lists all jobs’ status – ID, StartTime, Type (backup?), Level (Full, increment, differential?), Files and bytes processed and the status of the job (Terminated normally, Running,Fatal error and so on). Found out if you have backups of a server or the backup process failed!

    srvbkp@local # bconsole 
    Connecting to Director localhost:9101
    1000 OK: 1 srvbkp-dir Version: 7.0.5 (28 July 2014)
    Enter a period to cancel a command.
    *list jobs
    +-------+--------------------------------+---------------------+------+-------+-----------+-----------------+-----------+
    | JobId | Name                           | StartTime           | Type | Level | JobFiles  | JobBytes        | JobStatus |
    +-------+--------------------------------+---------------------+------+-------+-----------+-----------------+-----------+
    |   128 | srv1-test                      | 2016-12-04 23:05:00 | B    | F     |    17,506 |      52,116,400 | T         |
    |   178 | srv1-test                      | 2016-12-09 23:05:01 | B    | I     |        13 |           1,509 | T         |
    |   188 | srv1-test                      | 2016-12-10 23:05:01 | B    | I     |        13 |           1,509 | T         |
    .........................................................................................................................
    | 8,927 | srv2-images                    | 2018-03-04 20:00:00 | B    | F     |         0 |               0 | f         |
    | 8,928 | srv1-media                     | 2018-03-04 20:00:00 | B    | F     |         3 |             978 | T         |
    | 8,930 | srv1-dns                       | 2018-03-04 20:00:01 | B    | F     |         6 |           1,843 | T         |
    | 8,932 | srv2-dns                       | 2018-03-04 20:00:01 | B    | F     |         6 |           1,837 | T         |
    | 8,931 | srv3-dns                       | 2018-03-04 20:00:03 | B    | F     |         5 |           1,542 | T         |
    | 8,933 | srv4-dns                       | 2018-03-04 20:00:04 | B    | F     |         4 |           1,258 | T         |
    | 8,934 | srv5-dns                       | 2018-03-04 20:00:04 | B    | F     |         4 |           1,258 | T         |
    +-------+--------------------------------+---------------------+------+-------+-----------+-----------------+-----------+
    

    5) Which files were included in a backup job? Lists all paths and files included in the backup job (the ID is from the above command):

    *list files jobid=8934
    +----------+
    | Filename |
    +----------+
    | /var/lib/named/ |
    | /var/lib/named/root.cache |
    | /var/lib/named/sec |
    | /var/lib/named/sec/example.com.db |
    | /var/lib/named/sec/example2.net.db |
    | /var/lib/named/pri |
    +----------+
    +-------+----------+---------------------+------+-------+----------+----------+-----------+
    | JobId | Name     | StartTime           | Type | Level | JobFiles | JobBytes | JobStatus |
    +-------+----------+---------------------+------+-------+----------+----------+-----------+
    | 8,934 | srv5-dns | 2018-03-04 20:00:20 | B    | F     |        6 |    1,851 | T         |
    +-------+----------+---------------------+------+-------+----------+----------+-----------+
    

    6) Get the scheduled jobs. Which jobs will be executed and when:

    *status dir
    Scheduled Jobs:
    Level          Type     Pri  Scheduled          Job Name           Volume
    ===================================================================================
    Incremental    Backup    10  06-Mar-18 20:00    srv1-dns           *unknown*
    Incremental    Backup    10  06-Mar-18 20:00    srv2-dns           *unknown*
    Incremental    Backup    10  06-Mar-18 20:00    srv3-dns           *unknown*
    Incremental    Backup    10  06-Mar-18 20:00    srv4-dns           *unknown*
    Incremental    Backup    10  06-Mar-18 20:00    srv5-dns           *unknown*
    ...................................................................................
    Incremental    Backup    10  06-Mar-18 23:05    srv1-media         *unknown*
    Full           Backup    10  06-Mar-18 23:05    srv1-images        *unknown*
    ====
    Running Jobs:
    Console connected at 06-Mar-18 13:36
    No Jobs running.
    ====
    Terminated Jobs:
     JobId  Level    Files      Bytes   Status   Finished        Name
    ====================================================================
      9006  Incr        472    296.8 M  OK       05-Mar-18 23:05 srv1-dns
      9007  Incr     10,547    194.8 M  Error    05-Mar-18 23:05 srv2-dns
      9002  Incr         37    133.0 M  OK       05-Mar-18 23:05 srv3-dns
      8995  Incr         57    372.2 M  OK       05-Mar-18 23:06 srv4-dns
      9000  Incr        391    1.195 G  OK       05-Mar-18 23:07 srv5-dns
      9008  Full        832    7.139 G  OK       05-Mar-18 23:49 srv1-images
      9009  Full          1    1.493 G  OK       05-Mar-18 23:50 srv1-media
      9011  Full    315,027    121.6 G  OK       06-Mar-18 03:44 srv2-images
      9012  Full    314,804    93.85 G  OK       06-Mar-18 04:18 srv2-media
    ====
    *
    
  • Storages

  • Where are the backup files on your system? Trace the bacula media devices to the real path of your backup files.

    *status storage
    Automatically selected Storage: bind
    Connecting to Storage daemon bind at 192.168.0.10:9103
    srvbkp-sd Version: 7.0.5 (28 July 2014) x86_64-pc-linux-gnu ubuntu 16.04
    Daemon started 06-Nov-17 17:25. Jobs: run=5025, running=0.
     Heap: heap=135,168 smbytes=2,231,640 max_bytes=5,264,027 bufs=439 max_bufs=2,152
     Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0
    Running Jobs:
    No Jobs running.
    ====
    Jobs waiting to reserve a drive:
    ====
    Terminated Jobs:
     JobId  Level    Files      Bytes   Status   Finished        Name
    ===================================================================
      9071  Incr          0         0   OK       06-Mar-18 20:00 srv1-dns
      9074  Incr          0         0   OK       06-Mar-18 20:00 srv2-dns
      9073  Incr          0         0   OK       06-Mar-18 20:00 srv3-dns
      9075  Incr          5    2.043 K  OK       06-Mar-18 20:00 srv4-dns
      9078  Incr          5    2.042 K  OK       06-Mar-18 20:00 srv5-dns
      9077  Incr          0         0   OK       06-Mar-18 20:00 srv1-media
      9079  Incr          0         0   OK       06-Mar-18 20:00 srv1-images
      9076  Incr          0         0   OK       06-Mar-18 20:00 srv2-images
      9057  Full          0         0   Other    06-Mar-18 20:31 srv2-media
    ====
    Device status:
    Device "localstorage" (/mnt/storage1/bacula-storage/local) is not open.
    ==
    Device "media" (/mnt/storage1/bacula-storage/media) is not open.
    ==
    Device "bind" (/mnt/storage1/bacula-storage/bind) is not open.
    ==
    Device "image" (/mnt/storage1/bacula-storage/image) is not open.
    ==
    ====
    Used Volume status:
    ====
    Attr spooling: 0 active jobs, 34,753 bytes; 120 total jobs, 34,753 max bytes.
    ====
    *
    
  • Clients

    1) Show all client names in the bacula system, this could be useful to link a client name with a server and then to use the name in the next command (below in 2):

    *show client
    Client: name=srvbkp-fd address=192.168.0.5 FDport=9102 MaxJobs=1
          JobRetention=3 months  FileRetention=2 months  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    Client: name=srv1-dns address=192.168.0.100 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    Client: name=srv2-dns address=192.168.0.101 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    Client: name=srv3-dns address=192.168.0.103 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    Client: name=srv4-dns address=192.168.0.104 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    Client: name=srv5-dns address=192.168.0.105 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    Client: name=srv1-media address=192.168.0.106 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    Client: name=srv1-images address=192.168.0.107 FDport=9102 MaxJobs=1
          JobRetention=1 month  FileRetention=1 month  AutoPrune=1
      --> Catalog: name=allbackup address=localhost DBport=0 db_name=bacula
          db_driver=*None* db_user=bacula MutliDBConn=0
    *
    

    2) Show status of a client. We can use this command to check what is going on with the client at the moment of issuing the command, the last terminated backup jobs and their status. In addition we can check the connection between the Director daemon and the client daemon, because the Director connects at the moment we issue the command, so it is useful for debugging purposes:

    *status client=srv1-dns
    Connecting to Client srv1-dns at 192.168.0.100:9102
    
    srv1-dns-fd Version: 7.0.5 (28 July 2014)  x86_64-pc-linux-gnu ubuntu 16.04
    Daemon started 23-Feb-18 00:43. Jobs: run=8 running=0.
     Heap: heap=98,304 smbytes=188,701 max_bytes=571,361 bufs=64 max_bufs=97
     Sizes: boffset_t=8 size_t=8 debug=0 trace=0 mode=0,0 bwlimit=0kB/s
     Plugin: bpipe-fd.so 
    
    Running Jobs:
    Director connected at: 06-Mar-18 22:51
    No Jobs running.
    ====
    
    Terminated Jobs:
     JobId  Level    Files      Bytes   Status   Finished        Name 
    ===================================================================
      1832  Full          4    1.333 K  OK       01-Mar-18 23:48 srv1-dns
      1836  Incr          0         0   OK       02-Mar-18 00:01 srv1-dns
      1864  Incr          0         0   OK       02-Mar-18 20:30 srv1-dns
      1907  Incr          0         0   OK       03-Mar-18 20:00 srv1-dns
      1950  Full          4    1.333 K  OK       04-Mar-18 20:01 srv1-dns
      1994  Incr          0         0   OK       05-Mar-18 20:00 srv1-dns
      1037  Incr          0         0   OK       06-Mar-18 20:00 srv1-dns
    ====
    *
    
  • Filesets

    Which files will be included or excluded from the backup process. The lines starting with “I” mean “include”, the lines starting with “E” mean exclude.

     *show fileset
    FileSet: name=Full Set
     O M
     N
     I /usr/sbin
     N
     E /var/lib/bacula
     E /proc
     E /tmp
     E /sys
     E /.journal
     E /.fsck
     N
    FileSet: name=Catalog
     O M
     N
     I /var/lib/bacula/bacula.sql
     N
    FileSet: name=images
     O MfZ6
     N
     I /
     N
     E /proc
     E /tmp
     E /run
     E /dev
     E /sys
     N
    FileSet: name=bind
     O MZ6
     N
     I /var/lib/named
     N
    FileSet: name=media
     O MfZ6
     N
     I /
     N
     E /proc
     E /tmp
     E /run
     E /dev
     E /sys
     N
    
  • Schedule

    1) The all timeline plans for taking backups

    *show schedule
    Schedule: name=WeeklyCycle
      --> Run Level=Full
          hour=23 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=0 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=5
      --> Run Level=Differential
          hour=23 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=1 2 3 4 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=5
      --> Run Level=Incremental
          hour=23 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=1 2 3 4 5 6 
          wom=0 1 2 3 4 5 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=5
    Schedule: name=WeeklyCycleAfterBackup
      --> Run Level=Full
          hour=23 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 1 2 3 4 5 6 
          wom=0 1 2 3 4 5 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=10
    Schedule: name=images
      --> Run Level=Full
          hour=10 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=0 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Differential
          hour=10 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=1 2 3 4 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Incremental
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=1 2 3 4 5 6 
          wom=0 1 2 3 4 5 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
    

    2) The schedule plan for one client or groups of clients (server/s):

    *show schedule=bind
    Schedule: name=bind
      --> Run Level=Full
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=0 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Differential
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=0 
          wom=1 2 3 4 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
      --> Run Level=Incremental
          hour=20 
          mday=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
          month=0 1 2 3 4 5 6 7 8 9 10 11 
          wday=1 2 3 4 5 6 
          wom=0 1 2 3 4 5 
          woy=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 
          mins=0
    
  • Director

    1) Show the last messages of the backup processes. As you can see there is an error in one of the jobs, this error means that the client did not connect to the backup daemon (probably the same server with the Director), the problem was the firewall did not allow connections from this client (IP):

    *message
    06-Mar 20:00 srvbkp-dir JobId 1075: Start Backup JobId 1075, Job=srv1-bind.2018-03-06_20.00.01_05
    06-Mar 20:00 srvbkp-dir JobId 1075: Using Device "bind" to write.
    06-Mar 20:00 srvbkp-sd JobId 1066: Elapsed time=00:00:10, Transfer rate=0  Bytes/second
    06-Mar 20:00 srvbkp-dir JobId 1066: Bacula srvbkp-dir 7.0.5 (28Jul14):
      Build OS:               x86_64-pc-linux-gnu ubuntu 16.04
      JobId:                  1066
      Job:                    srv1-media.2018-03-06_20.00.00_56
      Backup Level:           Incremental, since=2018-03-06 20:00:14
      Client:                 "srv1-media" 7.0.5 (28Jul14) x86_64-pc-linux-gnu,ubuntu,16.04
      FileSet:                "bind" 2017-11-07 17:19:45
      Pool:                   "bind-incr" (From Job IncPool override)
      Catalog:                "allbackup" (From Client resource)
      Storage:                "bind" (From Job resource)
      Scheduled time:         06-Mar-2018 20:00:00
      Start time:             06-Mar-2018 20:00:15
      End time:               06-Mar-2018 20:00:26
      Elapsed time:           11 secs
      Priority:               10
      FD Files Written:       0
      SD Files Written:       0
      FD Bytes Written:       0 (0 B)
      SD Bytes Written:       0 (0 B)
      Rate:                   0.0 KB/s
      Software Compression:   None
      VSS:                    no
      Encryption:             no
      Accurate:               no
      Volume name(s):        
      Volume Session Id:      1025
      Volume Session Time:    1509989534
      Last Volume Bytes:      4,618 (4.618 KB)
      Non-fatal FD errors:    0
      SD Errors:              0
      FD termination status:  OK
      SD termination status:  OK
      Termination:            Backup OK
    06-Mar 20:01 srvbkp-dir JobId 1057: Using Device "bind" to write.
    06-Mar 20:05 srv2-dns-fd JobId 1057: Warning: bsock.c:112 Could not connect to Storage daemon on 192.168.0.5:9103. ERR=Connection timed out
    Retrying ...
    06-Mar 20:31 srv2-dns-fd JobId 1057: Fatal error: bsock.c:118 Unable to connect to Storage daemon on 192.168.0.5:9103. ERR=Interrupted system call
    06-Mar 20:31 srv2-dns-fd JobId 1057: Fatal error: job.c:1893 Failed to connect to Storage daemon: 192.168.0.5:9103
    06-Mar 20:31 srvbkp-dir JobId 1057: Fatal error: Bad response to Storage command: wanted 2000 OK storage
    , got 2902 Bad storage
    06-Mar 20:31 srvbkp-dir JobId 1057: Error: Bacula srvbkp-dir 7.0.5 (28Jul14):
      Build OS:               x86_64-pc-linux-gnu ubuntu 16.04
      JobId:                  1057
      Job:                    srv2-dns.2018-03-06_20.00.00_47
      Backup Level:           Full (upgraded from Incremental)
      Client:                 "srv2-dns" 7.0.5 (28Jul14) x86_64-pc-linux-gnu,ubuntu,16.04
      FileSet:                "bind" 2017-11-07 17:19:45
      Pool:                   "bind-full" (From Job FullPool override)
      Catalog:                "allbackup" (From Client resource)
      Storage:                "bind" (From Job resource)
      Scheduled time:         06-Mar-2018 20:00:00
      Start time:             06-Mar-2018 20:00:00
      End time:               06-Mar-2018 20:31:22
      Elapsed time:           31 mins 22 secs
      Priority:               10
      FD Files Written:       0
      SD Files Written:       0
      FD Bytes Written:       0 (0 B)
      SD Bytes Written:       0 (0 B)
      Rate:                   0.0 KB/s
      Software Compression:   None
      VSS:                    no
      Encryption:             no
      Accurate:               no
      Volume name(s):        
      Volume Session Id:      1201
      Volume Session Time:    1509989534
      Last Volume Bytes:      1 (1 B)
      Non-fatal FD errors:    2
      SD Errors:              0
      FD termination status:  Error
      SD termination status:  Waiting on FD
      Termination:            *** Backup Error ***
    

    2) reload – reload the configuration files of bacula system. The daemons will re-read all configuration files in “/etc/bacula”. Unfortunately there is no output:

    *reload
    *
    

Install netdata monitoring in CentOS 7

netdata became a great tool for admins to monitor in real time their servers!
At first it was just an additional not mandatory tool to check what’s going on with the servers for the last hour or so, but it evolved to really handy and informative monitoring server tracking every seconds what is going on with the server and server’s most used services like database, web, application service.
Today in version 1.9 (this installation howto is for netdata 1.9) it could track activity at least of this services:

apache          hddtemp          postgres
beanstalk       haproxy          rabbitmq
ceph            isc_dhcpd        retroshare
bind_rndc       ipfs             redis
couchdb         memcached        sensors
chrony          mdstat           samba
cpufreq         mongodb          squid
dns_query_time  nginx            springboot
dnsdist         mysql            smartd_log
elasticsearch   nsd              tomcat
dovecot         nginx_plus       web_log
exim            ovpn_status_log  varnish
example         ntpd             fronius
freeradius      postfix          named
fail2ban        phpfpm           snmp
go_expvar       powerdns         stiebeleltron

And some of these plugins support multiple programs and services, for example web_log supports the access/error logs of the major web servers at the moment.

The installation is really simple netdata includes a script to facilitate the installation process.
Here are the minimal steps to install this great software:

STEP 1) Install dependencies, because will pull it from the official repository we also need git command

yum install -y git gcc make autoconf automake pkgconfig zlib-devel libuuid-devel curl nodejs freeipmi freeipmi-devel elfutils-libelf cmake openssl-devel libuv-devel

As you can see there is a nodejs packet, which depends on additional repository (you could skip this, just the modules, which depends on nodejs won’t work, as if now only the plugins using nodejs are located in “/etc/netdata/node.d/” and they are not so many).

yum -y install epel-release
yum -y install nodejs

STEP 2) Clone the netdata repository

cd
git clone https://github.com/firehol/netdata

STEP 3) Instal netdata

cd netdata
CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe" ./netdata-installer.sh --install /usr/local/netdata

Install the netdata software in a separate directory and if you clean the system, just delete this directory. The example above uses

/usr/local/netdata

all files will be installed there.
As you can see the installation output the path of your files

   - the daemon     at /usr/local/netdata/netdata/usr/sbin/netdata
   - config files   in /usr/local/netdata/netdata/etc/netdata
   - web files      in /usr/local/netdata/netdata/usr/share/netdata
   - plugins        in /usr/local/netdata/netdata/usr/libexec/netdata
   - cache files    in /usr/local/netdata/netdata/var/cache/netdata
   - db files       in /usr/local/netdata/netdata/var/lib/netdata
   - log files      in /usr/local/netdata/netdata/var/log/netdata
   - pid file       at /usr/local/netdata/netdata/var/run/netdata.pid
   - logrotate file at /etc/logrotate.d/netdata

STEP 4) USE firewall and open the port 19999 of your server to check e able to load the monitoring page

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="<YOURIP>" port protocol="tcp" port="19999" accept"
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<YOURIP>" port protocol="tcp" port="19999" accept"

Because firewalld is the default firewall under CentOS 7 we used it ot show you how to let your IP access netdata web – replace with your current trusted IP.

* The installation process creates start/stop unit files for systemd and tells you how to update it (even you can run it automatically in a cron job)

To stop netdata run:
  systemctl stop netdata
To start netdata run:
  systemctl start netdata
 
Uninstall script generated: ./netdata-uninstaller.sh
Update script generated   : ./netdata-updater.sh
 
netdata-updater.sh can work from cron. It will trigger an email from cron
only if it fails (it does not print anything when it can update netdata).
Run this to automatically check and install netdata updates once per day:
 
sudo ln -s /root/netdata/netdata-updater.sh /etc/cron.daily/netdata-updater

* Here is the output of an installation help menu – it also hints the dependencies it may need:

[root@srv.local netdata]# ./netdata-installer.sh --help

  ^
  |.-.   .-.   .-.   .-.   .-.   .  netdata                          .-.   .-
  |   '-'   '-'   '-'   '-'   '-'   installer command line options  '   '-'  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->


./netdata-installer.sh <installer options>

Valid <installer options> are:

   --install /PATH/TO/INSTALL

        If you give: --install /opt
        netdata will be installed in /opt/netdata

   --dont-start-it

        Do not (re)start netdata.
        Just install it.

   --dont-wait

        Do not wait for the user to press ENTER.
        Start immediately building it.

   --auto-update | -u

        Install netdata-updater to cron,
        to update netdata automatically once per day
        (can only be done for installations from git)

   --enable-plugin-freeipmi
   --disable-plugin-freeipmi

        Enable/disable the FreeIPMI plugin.
        Default: enable it when libipmimonitoring is available.

   --enable-plugin-nfacct
   --disable-plugin-nfacct

        Enable/disable the nfacct plugin.
        Default: enable it when libmnl and libnetfilter_acct are available.

   --enable-lto
   --disable-lto

        Enable/disable Link-Time-Optimization
        Default: enabled

   --zlib-is-really-here
   --libs-are-really-here

        If you get errors about missing zlib,
        or libuuid but you know it is available,
        you have a broken pkg-config.
        Use this option to allow it continue
        without checking pkg-config.

Netdata will by default be compiled with gcc optimization -O2
If you need to pass different CFLAGS, use something like this:

  CFLAGS="<gcc options>" ./netdata-installer.sh <installer options>

For the installer to complete successfully, you will need
these packages installed:

   gcc make autoconf automake pkg-config zlib1g-dev (or zlib-devel)
   uuid-dev (or libuuid-devel)

For the plugins, you will at least need:

   curl, bash v4+, python v2 or v3, node.js

* netdata in action

main menu
All real-time monitoring plugins, System Overview opened

main menu
Memory details

main menu
PHP-FPM local details

* And here is the output of an installation process:

[root@lsrv3 netdata]# CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe" ./netdata-installer.sh --install /usr/local/netdata

  ^
  |.-.   .-.   .-.   .-.   .  netdata                                        
  |   '-'   '-'   '-'   '-'   real-time performance monitoring, done right!  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->


  You are about to build and install netdata to your system.

  It will be installed at these locations:

   - the daemon     at /usr/local/netdata/netdata/usr/sbin/netdata
   - config files   in /usr/local/netdata/netdata/etc/netdata
   - web files      in /usr/local/netdata/netdata/usr/share/netdata
   - plugins        in /usr/local/netdata/netdata/usr/libexec/netdata
   - cache files    in /usr/local/netdata/netdata/var/cache/netdata
   - db files       in /usr/local/netdata/netdata/var/lib/netdata
   - log files      in /usr/local/netdata/netdata/var/log/netdata
   - pid file       at /usr/local/netdata/netdata/var/run/netdata.pid
   - logrotate file at /etc/logrotate.d/netdata

  This installer allows you to change the installation path.
  Press Control-C and run the same command with --help for help.

Press ENTER to build and install netdata to '/usr/local/netdata/netdata' > 

 --- Run autotools to configure the build environment --- 
[/root/netdata]# ./autogen.sh 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'
 OK   

[/root/netdata]# ./configure --prefix=/usr/local/netdata/netdata/usr --sysconfdir=/usr/local/netdata/netdata/etc --localstatedir=/usr/local/netdata/netdata/var --with-zlib --with-math --with-user=netdata CFLAGS=-march=native\ -O2\ -msse3\ -fomit-frame-pointer\ -pipe 
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for __attribute__((returns_nonnull))... no
checking for __attribute__((malloc))... yes
checking for __attribute__((noreturn))... yes
checking for __attribute__((noinline))... yes
checking for __attribute__((format))... yes
checking for __attribute__((warn_unused_result))... yes
checking for struct timespec... yes
checking for clockid_t... yes
checking for library containing clock_gettime... none required
checking for clock_gettime... yes
checking for sched_setscheduler... yes
checking for sched_get_priority_min... yes
checking for sched_get_priority_max... yes
checking for nice... yes
checking for recvmmsg... yes
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for inline... inline
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... yes
checking for _Generic... no
checking for __atomic... yes
checking size of void *... 8
checking whether sys/types.h defines makedev... yes
checking for sys/types.h... (cached) yes
checking for netinet/in.h... yes
checking for arpa/nameser.h... yes
checking for netdb.h... yes
checking for resolv.h... yes
checking for sys/prctl.h... yes
checking for linux/netfilter/nfnetlink_conntrack.h... yes
checking for accept4... yes
checking operating system... linux
checking if compiler needs -Werror to reject unknown flags... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for sin in -lm... yes
checking if libm should be used... yes
checking for ZLIB... yes
checking if zlib should be used... yes
checking for UUID... yes
checking for memory allocator... system
checking for mallopt... yes
checking for mallinfo... yes
checking for LIBCAP... no
checking if libcap should be used... no
checking if apps.plugin should be enabled... yes
checking for IPMIMONITORING... yes
checking for
        ipmi_monitoring_sensor_readings_by_record_id,
        ipmi_monitoring_sensor_readings_by_sensor_type,
        ipmi_monitoring_sensor_read_sensor_number,
        ipmi_monitoring_sensor_read_sensor_name,
        ipmi_monitoring_sensor_read_sensor_state,
        ipmi_monitoring_sensor_read_sensor_units,
        ipmi_monitoring_sensor_iterator_next,
        ipmi_monitoring_ctx_sensor_config_file,
        ipmi_monitoring_ctx_sdr_cache_directory,
        ipmi_monitoring_ctx_errormsg,
        ipmi_monitoring_ctx_create
     in -lipmimonitoring... yes
checking ipmi_monitoring.h usability... yes
checking ipmi_monitoring.h presence... yes
checking for ipmi_monitoring.h... yes
checking ipmi_monitoring_bitmasks.h usability... yes
checking ipmi_monitoring_bitmasks.h presence... yes
checking for ipmi_monitoring_bitmasks.h... yes
checking if freeipmi.plugin should be enabled... yes
checking for NFACCT... no
checking for LIBMNL... no
checking if nfacct.plugin should be enabled... no
checking for setns... yes
checking if cgroup-network can be enabled... yes
checking whether C compiler accepts -flto... yes
checking if -flto builds executables... yes
checking if LTO should be enabled... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating charts.d/Makefile
config.status: creating conf.d/Makefile
config.status: creating netdata.spec
config.status: creating python.d/Makefile
config.status: creating node.d/Makefile
config.status: creating plugins.d/Makefile
config.status: creating src/Makefile
config.status: creating system/Makefile
config.status: creating web/Makefile
config.status: creating diagrams/Makefile
config.status: creating makeself/Makefile
config.status: creating contrib/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
 OK   

 --- Cleanup compilation directory --- 
 --- Compile netdata --- 
[/root/netdata]# make -j8 
make  all-recursive
make[1]: Entering directory `/root/netdata'
Making all in charts.d
make[2]: Entering directory `/root/netdata/charts.d'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/netdata/charts.d'
Making all in conf.d
make[2]: Entering directory `/root/netdata/conf.d'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/netdata/conf.d'
Making all in diagrams
make[2]: Entering directory `/root/netdata/diagrams'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/netdata/diagrams'
Making all in makeself
make[2]: Entering directory `/root/netdata/makeself'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/netdata/makeself'
Making all in node.d
make[2]: Entering directory `/root/netdata/node.d'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/netdata/node.d'
Making all in plugins.d
make[2]: Entering directory `/root/netdata/plugins.d'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/netdata/plugins.d'
Making all in python.d
make[2]: Entering directory `/root/netdata/python.d'
if sed \
        -e 's#[@]localstatedir_POST@#/usr/local/netdata/netdata/var#g' \
        -e 's#[@]sbindir_POST@#/usr/local/netdata/netdata/usr/sbin#g' \
        -e 's#[@]sysconfdir_POST@#/usr/local/netdata/netdata/etc#g' \
        -e 's#[@]pythondir_POST@#/usr/local/netdata/netdata/usr/libexec/netdata/python.d#g' \
        python-modules-installer.sh.in > python-modules-installer.sh.tmp; then \
        mv "python-modules-installer.sh.tmp" "python-modules-installer.sh"; \
else \
        rm -f "python-modules-installer.sh.tmp"; \
        false; \
fi
make[2]: Leaving directory `/root/netdata/python.d'
Making all in src
make[2]: Entering directory `/root/netdata/src'
gcc -DHAVE_CONFIG_H -I. -I..  -DVARLIB_DIR="\"/usr/local/netdata/netdata/var/lib/netdata\"" -DCACHE_DIR="\"/usr/local/netdata/netdata/var/cache/netdata\"" -DCONFIG_DIR="\"/usr/local/netdata/netdata/etc/netdata\"" -DLOG_DIR="\"/usr/local/netdata/netdata/var/log/netdata\"" -DPLUGINS_DIR="\"/usr/local/netdata/netdata/usr/libexec/netdata/plugins.d\"" -DRUN_DIR="\"/usr/local/netdata/netdata/var/run/netdata\"" -DWEB_DIR="\"/usr/local/netdata/netdata/usr/share/netdata/web\""          -march=native -O2 -msse3 -fomit-frame-pointer -pipe -pthread -flto -MT apps_plugin.o -MD -MP -MF .deps/apps_plugin.Tpo -c -o apps_plugin.o apps_plugin.c
make[2]: Leaving directory `/root/netdata'
make[1]: Leaving directory `/root/netdata'
 OK   

 --- Restore user edited netdata configuration files --- 
 --- Fix generated files permissions --- 
[/root/netdata]# find ./system/ -type f -a \! -name \*.in -a \! -name Makefile\* -a \! -name \*.conf -a \! -name \*.service -a \! -name \*.logrotate -exec chmod 755 \{\} \; 
 OK   

 --- Add user netdata to required user groups --- 
Adding netdata user group ...
[/root/netdata]# groupadd -r netdata 
 OK   

Adding netdata user account with home /usr/local/netdata/netdata ...
[/root/netdata]# useradd -r -g netdata -c netdata -s /usr/sbin/nologin --no-create-home -d /usr/local/netdata/netdata netdata 
 OK   

Group 'docker' does not exist.
Adding netdata user to the nginx group ...
[/root/netdata]# usermod -a -G nginx netdata 
 OK   

Group 'varnish' does not exist.
Adding netdata user to the haproxy group ...
[/root/netdata]# usermod -a -G haproxy netdata 
 OK   

Adding netdata user to the adm group ...
[/root/netdata]# usermod -a -G adm netdata 
 OK   

Group 'nsd' does not exist.
Group 'proxy' does not exist.
Group 'squid' does not exist.
Group 'ceph' does not exist.
 --- Install logrotate configuration for netdata --- 
[/root/netdata]# cp system/netdata.logrotate /etc/logrotate.d/netdata 
 OK   

[/root/netdata]# chmod 644 /etc/logrotate.d/netdata 
 OK   

 --- Read installation options from netdata.conf --- 

    Permissions
    - netdata user     : netdata
    - netdata group    : netdata
    - web files user   : netdata
    - web files group  : netdata
    - root user        : root

    Directories
    - netdata conf dir : /usr/local/netdata/netdata/etc/netdata
    - netdata log dir  : /usr/local/netdata/netdata/var/log/netdata
    - netdata run dir  : /usr/local/netdata/netdata/var/run
    - netdata lib dir  : /usr/local/netdata/netdata/var/lib/netdata
    - netdata web dir  : /usr/local/netdata/netdata/usr/share/netdata/web
    - netdata cache dir: /usr/local/netdata/netdata/var/cache/netdata

    Other
    - netdata port     : 19999

 --- Fix permissions of netdata directories (using user 'netdata') --- 
[/root/netdata]# mkdir -p /usr/local/netdata/netdata/var/run 
 OK   

[/root/netdata]# chown -R root:netdata /usr/local/netdata/netdata/etc/netdata 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/etc/netdata -type f -exec chmod 0640 \{\} \; 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/etc/netdata -type d -exec chmod 0755 \{\} \; 
 OK   

[/root/netdata]# chown -R netdata:netdata /usr/local/netdata/netdata/usr/share/netdata/web 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/usr/share/netdata/web -type f -exec chmod 0664 \{\} \; 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/usr/share/netdata/web -type d -exec chmod 0775 \{\} \; 
 OK   

[/root/netdata]# chown -R netdata:netdata /usr/local/netdata/netdata/var/lib/netdata 
 OK   

[/root/netdata]# chown -R netdata:netdata /usr/local/netdata/netdata/var/cache/netdata 
 OK   

[/root/netdata]# chown -R netdata:netdata /usr/local/netdata/netdata/var/log/netdata 
 OK   

[/root/netdata]# chmod 755 /usr/local/netdata/netdata/var/log/netdata 
 OK   

[/root/netdata]# chown netdata:root /usr/local/netdata/netdata/var/log/netdata 
 OK   

[/root/netdata]# chown -R root /usr/local/netdata/netdata/usr/libexec/netdata 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/usr/libexec/netdata -type d -exec chmod 0755 \{\} \; 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/usr/libexec/netdata -type f -exec chmod 0644 \{\} \; 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/usr/libexec/netdata -type f -a -name \*.plugin -exec chmod 0755 \{\} \; 
 OK   

[/root/netdata]# find /usr/local/netdata/netdata/usr/libexec/netdata -type f -a -name \*.sh -exec chmod 0755 \{\} \; 
 OK   

[/root/netdata]# chown root:netdata /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/apps.plugin 
 OK   

[/root/netdata]# chmod 0750 /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/apps.plugin 
 OK   

[/root/netdata]# setcap cap_dac_read_search\,cap_sys_ptrace+ep /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/apps.plugin 
 OK   

[/root/netdata]# chown root:netdata /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/freeipmi.plugin 
 OK   

[/root/netdata]# chmod 4750 /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/freeipmi.plugin 
 OK   

[/root/netdata]# chown root:netdata /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/cgroup-network 
 OK   

[/root/netdata]# chmod 4750 /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/cgroup-network 
 OK   

[/root/netdata]# chown root /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/cgroup-network-helper.sh 
 OK   

[/root/netdata]# chmod 0550 /usr/local/netdata/netdata/usr/libexec/netdata/plugins.d/cgroup-network-helper.sh 
 OK   

[/root/netdata]# chmod a+rX /usr/local/netdata/netdata/usr/libexec 
 OK   

[/root/netdata]# chmod a+rX /usr/local/netdata/netdata/usr/share/netdata 
 OK   

 --- Install netdata at system init --- 
Installing systemd service...
[/root/netdata]# cp system/netdata.service /etc/systemd/system/netdata.service 
 OK   

[/root/netdata]# systemctl daemon-reload 
 OK   

[/root/netdata]# systemctl enable netdata 
Created symlink from /etc/systemd/system/multi-user.target.wants/netdata.service to /etc/systemd/system/netdata.service.
 OK   

 --- Start netdata --- 
[/root/netdata]# /usr/bin/systemctl stop netdata 
 OK   

[/root/netdata]# /usr/bin/systemctl restart netdata 
 OK   

OK. NetData Started!


-------------------------------------------------------------------------------

Downloading default configuration from netdata...
[/root/netdata]# curl -s -o /usr/local/netdata/netdata/etc/netdata/netdata.conf.new http://localhost:19999/netdata.conf 
 OK   

[/root/netdata]# mv /usr/local/netdata/netdata/etc/netdata/netdata.conf.new /usr/local/netdata/netdata/etc/netdata/netdata.conf 
 OK   

 OK  New configuration saved for you to edit at /usr/local/netdata/netdata/etc/netdata/netdata.conf 

[/root/netdata]# chown netdata /usr/local/netdata/netdata/etc/netdata/netdata.conf 
 OK   

[/root/netdata]# chmod 0664 /usr/local/netdata/netdata/etc/netdata/netdata.conf 
 OK   

 --- Check KSM (kernel memory deduper) --- 
 --- Check version.txt --- 
 --- Check apps.plugin --- 
 --- Generate netdata-uninstaller.sh --- 
 --- Basic netdata instructions --- 

netdata by default listens on all IPs on port 19999,
so you can access it with:

  http://this.machine.ip:19999/

To stop netdata run:

  systemctl stop netdata

To start netdata run:

  systemctl start netdata


Uninstall script generated: ./netdata-uninstaller.sh
Update script generated   : ./netdata-updater.sh

netdata-updater.sh can work from cron. It will trigger an email from cron
only if it fails (it does not print anything when it can update netdata).
Run this to automatically check and install netdata updates once per day:

sudo ln -s /root/netdata/netdata-updater.sh /etc/cron.daily/netdata-updater

 --- We are done! --- 

  ^
  |.-.   .-.   .-.   .-.   .-.   .  netdata                          .-.   .-
  |   '-'   '-'   '-'   '-'   '-'   is installed and running now!  -'   '-'  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->

  enjoy real-time performance and health monitoring...

Running an Ethereum node from source under Ubuntu 16 LTS

This howto is made to show you how to run an Ethereum node. To run an Ethereum node we need the

geth

program to start and wait for the network synchronization – our Ethereum node will receive all the blockchains of the network!
After a successful Ethereum network synchronization we can send and receive coins securely ourselves! No other online service offers us secure sending and receiving of transcations and creation of wallet, the only way a crypto user could be absolutely sure the private key is seen only from him and is generated on his server is to become part of the Ethereum network and create your wallet with “geth” manually by the user himself.
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 “geth” program, which will create an Ethereum node and after network synchronization could be used to create an Ethereum 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 do not attempt to run an Ethereum node in a hard disk –

USE SSD

If you use a hard disk even in RAID configuration it could take several days for network synchronization and probably your machine will be useless during the synchronization.

So here are the steps to create from a scratch an Ethereum node:

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

STEP 2) Building from source an Ethereum node

Check out our howto“Building from source an Ethereum node under Ubuntu 16 LTS”.

STEP 3) Start the Ethereum node

if you have followed the howto in STEP 2) you probably have “geth” installed in “~/go-ethereum/build/bin”, so first running it with:

ubuntu@srv.local:~/go-ethereum/build/bin$ ./geth --rpc --fast --cache=8144 &> ./geth.log

STEP 3) Wait for the blockchain network synchronization

When you run “geth” it will check the current state of the network and the current state of your Ethereum 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 Ethereum 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 Ethereum node:

INFO [02-27|19:14:02] Maximum peer count                       ETH=25 LES=0 total=25
INFO [02-27|19:14:02] Starting peer-to-peer node               instance=Geth/v1.8.2-unstable-b574b577/linux-amd64/go1.9.4
INFO [02-27|19:14:02] Allocated cache and file handles         database=/home/ubuntu/.ethereum/geth/chaindata cache=6108 handles=512
INFO [02-27|19:14:02] Writing default main-net genesis block 
INFO [02-27|19:14:03] Persisted trie from memory database      nodes=12356 size=2.34mB time=49.406185ms gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [02-27|19:14:03] Initialised chain configuration          config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Constantinople: <nil> Engine: ethash}"
INFO [02-27|19:14:03] Disk storage enabled for ethash caches   dir=/home/ubuntu/.ethereum/geth/ethash count=3
INFO [02-27|19:14:03] Disk storage enabled for ethash DAGs     dir=/home/ubuntu/.ethash               count=2
INFO [02-27|19:14:03] Initialising Ethereum protocol           versions="[63 62]" network=1
INFO [02-27|19:14:03] Loaded most recent local header          number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [02-27|19:14:03] Loaded most recent local full block      number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [02-27|19:14:03] Loaded most recent local fast block      number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [02-27|19:14:03] Regenerated local transaction journal    transactions=0 accounts=0
INFO [02-27|19:14:03] Starting P2P networking 
INFO [02-27|19:14:05] UDP listener up                          self=enode://4ee1f43cc597fa829a04ec97dee38ad4f2c61f39f0f0e5ebd46e095c660cc95aab71eef55b0db9fd64d0afaeb589a8d9cb3eb86fdc07e32183648bc89dbd4aca@[::]:30303
INFO [02-27|19:14:05] RLPx listener up                         self=enode://4ee1f43cc597fa829a04ec97dee38ad4f2c61f39f0f0e5ebd46e095c660cc95aab71eef55b0db9fd64d0afaeb589a8d9cb3eb86fdc07e32183648bc89dbd4aca@[::]:30303
INFO [02-27|19:14:05] HTTP endpoint opened                     url=http://127.0.0.1:8545 cors= vhosts=localhost
INFO [02-27|19:14:05] IPC endpoint opened                      url=/home/ubuntu/.ethereum/geth.ipc
INFO [02-27|19:14:45] Block synchronisation started 
WARN [02-27|19:14:53] Synchronisation failed, retrying         err="block download canceled (requested)"
WARN [02-27|19:14:56] Node data write error                    err="state node 6aa064…378280 failed with all peers (1 tries, 1 peers)"
WARN [02-27|19:14:56] Synchronisation failed, retrying         err="state node 6aa064…378280 failed with all peers (1 tries, 1 peers)"
WARN [02-27|19:15:07] Node data write error                    err="state node 6aa064…378280 failed with all peers (3 tries, 3 peers)"
WARN [02-27|19:15:07] Synchronisation failed, retrying         err="state node 6aa064…378280 failed with all peers (3 tries, 3 peers)"
INFO [02-27|19:15:20] Imported new block headers               count=192 elapsed=1.115s number=192 hash=723899…123390 ignored=0
INFO [02-27|19:15:20] Imported new block receipts              count=2   elapsed=80.248µs number=2   hash=b495a1…4698c9 size=8.00B  ignored=0
INFO [02-27|19:15:20] Imported new block headers               count=192 elapsed=19.822ms number=384 hash=d3d5d5…c79cf3 ignored=0
INFO [02-27|19:15:21] Imported new block receipts              count=4   elapsed=117.07µs number=6   hash=1f1aed…6b326e size=1.10kB ignored=0
INFO [02-27|19:15:22] Imported new block headers               count=2048 elapsed=146.493ms number=2432 hash=78a9e6…079de3 ignored=0

As you can see the node connects to another nodes and receives blockchains and saves them to its local database. At present (late February 2017) a fully synchronized Ethereum node takes 59 Gigabytes of space, but this number will changed when you run your node.

STEP 3) Check the progress of the Ethereum network synchronization

The progress of Ethereum node synchronization could be checked with the “geth” program. Execute in the console:

ubuntu@srv.local:~/go-ethereum/build/bin$ ./geth --exec "web3.eth.syncing" attach
{
  currentBlock: 388,
  highestBlock: 5159514,
  knownStates: 0,
  pulledStates: 0,
  startingBlock: 0
}
ubuntu@srv.local:~/go-ethereum/build/bin$ ./geth --exec "web3.eth.syncing" attach
{
  currentBlock: 401,
  highestBlock: 5159514,
  knownStates: 0,
  pulledStates: 0,
  startingBlock: 0
}

As you can see we are at the very beginning here, we’ve received 401 of total 5159514 in the network.

After around 2 hours we are at 4882892 of total 5166333 in the network.

ubuntu@srv.local:~/go-ethereum/build/bin$ ./geth --exec "web3.eth.syncing" attach
{
  currentBlock: 4882892,
  highestBlock: 5166333,
  knownStates: 4806466,
  pulledStates: 4800942,
  startingBlock: 0
}

It is normal the highest block to increment, because the network is used intensively.
STEP 4) Successful full synchronization – how to check and to be sure
When you are almost then like in the last section of the STEP 3) you’ll begin to see lines in the geth output like:

INFO [02-28|01:46:28] Imported new block headers               count=0    elapsed=1.281ms   number=5168639 hash=433308…1a710e ignored=71

and when you execute geth with “web3.eth.syncing”:

ubuntu@srv.local:~/go-ethereum/build/bin$ ./geth --exec "web3.eth.syncing" attach
false

The node will keep on receiving new blocks, so synchronization is triggered again, syncing the received blocks and stops again. So when transferring funds or creating a wallet or any other action there will be triggered a synchronization and then execution of the action. There is a callback for when sync starts and stops. If you cannot see multiple times “false” after the last synchronization check with geth, but your are almost at the highest block, no need to worry everything is OK, you node is almost fully synchronized and can be used.

At present with SSD and 32G RAM on a intel i7 processor and a fast Internet connection 100Mbps the full synchronization took about 8 hours.

Building from source an Ethereum node under Ubuntu 16 LTS

The program, which makes an Ethereum node in your computer, is called

geth

. “geth” is written using the GO language and the latest version depends on GO version 1.7+. Ubuntu 16 LTS has GO language package version 1.6 so to build it from source we need first to install a proper version of GO Language.

STEP 1) Install a proper version of GO Language 1.7+

In our tutorial you will install 1.9 using this howto: “Install GO language in Ubuntu 16 LTS from the official site package”

STEP 2) Update your system and install dependencies

sudo apt-get update -y
sudo apt-get install -y build-essential libgmp3-dev git

STEP 3) Get the “geth” code and compile it

git clone https://github.com/ethereum/go-ethereum
cd go-ethereum
make geth

STEP 4) Check is everything is OK, installed geth version 1.8.2-unstable

srv@local:~/go-ethereum$ cd ./build/bin
srv@local:~/go-ethereum/build/bin$ ./geth version
Geth
Version: 1.8.2-unstable
Git Commit: b574b5776695eb30e034fd8c7a468b3f03d4c6b9
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.9.4
Operating System: linux
GOPATH=
GOROOT=/usr/local/go

* Next tutorial is getting the node up and running here!

* Troubleshooting

  • if you get
    ~/go-ethereum$ make geth
    build/env.sh go run build/ci.go install ./cmd/geth
    build/env.sh: 30: exec: go: not found
    Makefile:15: recipe for target 'geth' failed
    make: *** [geth] Error 127
    

    You did not install properly go, check our manual here: “Install GO language in Ubuntu 16 LTS from the official site package”. Check whether you source /etc/profile in your current ssh/console/login session, check if you exported the PATH, your PATH must include “your_goinstallation_path/bin”, it’s like “/usr/local/go”.

  • if you get
    ~/go-ethereum$ make geth
    build/env.sh go run build/ci.go install ./cmd/geth
    ci.go:190: You have Go version go1.6.2
    ci.go:191: go-ethereum requires at least Go version 1.7 and cannot
    ci.go:192: be compiled with an earlier version. Please upgrade your Go installation.
    exit status 1
    Makefile:15: recipe for target 'geth' failed
    make: *** [geth] Error 1
    

    The installation just uses the default installed GO language of your system, which is 1.6 and is not supported by the “geth” Ethereum program. There are two options:

When we talk for crypto currency the best source is always the GIT version (probably the best one is the stable tag, but it is safe to use the unstable, too), it is most secure source you could get. Do not download from 3rd party sites or unofficial repositories, you could lose your money.

* Here is the building output

srv@local:~/go-ethereum$ make geth
build/env.sh go run build/ci.go install ./cmd/geth
>>> /usr/local/go/bin/go install -ldflags -X main.gitCommit=b574b5776695eb30e034fd8c7a468b3f03d4c6b9 -v ./cmd/geth
github.com/ethereum/go-ethereum/crypto/sha3
github.com/ethereum/go-ethereum/common/math
github.com/ethereum/go-ethereum/rlp
github.com/ethereum/go-ethereum/vendor/github.com/go-stack/stack
github.com/ethereum/go-ethereum/common/hexutil
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/util
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/comparer
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage
github.com/ethereum/go-ethereum/crypto/secp256k1
github.com/ethereum/go-ethereum/vendor/github.com/golang/snappy
github.com/ethereum/go-ethereum/log
github.com/ethereum/go-ethereum/vendor/gopkg.in/karalabe/cookiejar.v2/collections/prque
github.com/ethereum/go-ethereum/common
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/cache
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/filter
github.com/ethereum/go-ethereum/vendor/github.com/aristanetworks/goarista/monotime
github.com/ethereum/go-ethereum/common/mclock
github.com/ethereum/go-ethereum/event
github.com/ethereum/go-ethereum/crypto/randentropy
github.com/ethereum/go-ethereum/vendor/github.com/pborman/uuid
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/opt
github.com/ethereum/go-ethereum/vendor/golang.org/x/sys/unix
github.com/ethereum/go-ethereum/vendor/golang.org/x/crypto/pbkdf2
github.com/ethereum/go-ethereum/params
github.com/ethereum/go-ethereum/vendor/golang.org/x/crypto/scrypt
github.com/ethereum/go-ethereum/vendor/gopkg.in/fatih/set.v0
github.com/ethereum/go-ethereum/cmd/internal/browser
github.com/ethereum/go-ethereum/metrics
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/errors
github.com/ethereum/go-ethereum/common/fdlimit
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/iterator
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/journal
github.com/ethereum/go-ethereum/vendor/github.com/hashicorp/golang-lru/simplelru
github.com/ethereum/go-ethereum/vendor/golang.org/x/net/context
github.com/ethereum/go-ethereum/vendor/github.com/hashicorp/golang-lru
github.com/ethereum/go-ethereum/vendor/golang.org/x/net/websocket
github.com/ethereum/go-ethereum/vendor/github.com/edsrzf/mmap-go
github.com/ethereum/go-ethereum/common/bitutil
github.com/ethereum/go-ethereum/vendor/github.com/rs/xhandler
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/memdb
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/table
github.com/ethereum/go-ethereum/crypto/bn256
github.com/ethereum/go-ethereum/vendor/github.com/rs/cors
github.com/ethereum/go-ethereum/vendor/golang.org/x/crypto/ripemd160
github.com/ethereum/go-ethereum/vendor/github.com/huin/goupnp/httpu
github.com/ethereum/go-ethereum/vendor/github.com/huin/goupnp/scpd
github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb
github.com/ethereum/go-ethereum/vendor/github.com/huin/goupnp/soap
github.com/ethereum/go-ethereum/rpc
github.com/ethereum/go-ethereum/vendor/github.com/huin/goupnp/ssdp
github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify
github.com/ethereum/go-ethereum/vendor/github.com/elastic/gosigar
github.com/ethereum/go-ethereum/vendor/golang.org/x/net/html/atom
github.com/ethereum/go-ethereum/vendor/golang.org/x/net/html
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/internal/identifier
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/transform
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/internal/utf8internal
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/internal/tag
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/language
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/runes
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/internal
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/charmap
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/japanese
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/korean
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/simplifiedchinese
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/traditionalchinese
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/unicode
github.com/ethereum/go-ethereum/ethdb
github.com/ethereum/go-ethereum/vendor/github.com/jackpal/go-nat-pmp
github.com/ethereum/go-ethereum/p2p/netutil
github.com/ethereum/go-ethereum/eth/tracers/internal/tracers
github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape.v3
github.com/ethereum/go-ethereum/vendor/github.com/golang/protobuf/proto
github.com/ethereum/go-ethereum/vendor/github.com/karalabe/hid
github.com/ethereum/go-ethereum/log/term
github.com/ethereum/go-ethereum/metrics/exp
github.com/ethereum/go-ethereum/vendor/github.com/mattn/go-colorable
github.com/ethereum/go-ethereum/vendor/gopkg.in/urfave/cli.v1
github.com/ethereum/go-ethereum/vendor/github.com/prometheus/prometheus/util/flock
github.com/ethereum/go-ethereum/vendor/golang.org/x/text/encoding/htmlindex
github.com/ethereum/go-ethereum/les/flowcontrol
github.com/ethereum/go-ethereum/vendor/golang.org/x/sync/syncmap
github.com/ethereum/go-ethereum/internal/jsre/deps
github.com/ethereum/go-ethereum/vendor/golang.org/x/net/html/charset
github.com/ethereum/go-ethereum/vendor/github.com/mattn/go-isatty
github.com/ethereum/go-ethereum/vendor/github.com/fatih/color
github.com/ethereum/go-ethereum/vendor/gopkg.in/sourcemap.v1/base64vlq
github.com/ethereum/go-ethereum/vendor/github.com/huin/goupnp
github.com/ethereum/go-ethereum/vendor/gopkg.in/sourcemap.v1
github.com/ethereum/go-ethereum/vendor/github.com/robertkrimen/otto/token
github.com/ethereum/go-ethereum/vendor/github.com/robertkrimen/otto/dbg
github.com/ethereum/go-ethereum/vendor/github.com/robertkrimen/otto/file
github.com/ethereum/go-ethereum/vendor/github.com/huin/goupnp/dcps/internetgateway1
github.com/ethereum/go-ethereum/vendor/github.com/huin/goupnp/dcps/internetgateway2
github.com/ethereum/go-ethereum/vendor/github.com/robertkrimen/otto/ast
github.com/ethereum/go-ethereum/internal/debug
github.com/ethereum/go-ethereum/vendor/github.com/robertkrimen/otto/parser
github.com/ethereum/go-ethereum/vendor/github.com/robertkrimen/otto/registry
github.com/ethereum/go-ethereum/internal/web3ext
github.com/ethereum/go-ethereum/vendor/github.com/peterh/liner
github.com/ethereum/go-ethereum/vendor/github.com/maruel/panicparse/stack
github.com/ethereum/go-ethereum/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor
github.com/ethereum/go-ethereum/p2p/nat
github.com/ethereum/go-ethereum/vendor/github.com/mattn/go-runewidth
github.com/ethereum/go-ethereum/vendor/github.com/mitchellh/go-wordwrap
github.com/ethereum/go-ethereum/vendor/github.com/naoina/go-stringutil
github.com/ethereum/go-ethereum/vendor/github.com/naoina/toml/ast
github.com/ethereum/go-ethereum/vendor/github.com/robertkrimen/otto
github.com/ethereum/go-ethereum/accounts/usbwallet/internal/trezor
github.com/ethereum/go-ethereum/vendor/github.com/nsf/termbox-go
github.com/ethereum/go-ethereum/vendor/github.com/naoina/toml
github.com/ethereum/go-ethereum/vendor/github.com/gizak/termui
# github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape.v3
In file included from vendor/gopkg.in/olebedev/go-duktape.v3/api.go:7:0:
vendor/gopkg.in/olebedev/go-duktape.v3/api.go: In function ‘_duk_error’:
vendor/gopkg.in/olebedev/go-duktape.v3/duktape.h:510:127: warning: right-hand operand of comma expression has no effect [-Wunused-value]
  (duk_error_raw((ctx), (duk_errcode_t) (err_code), (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
                                                                                                                               ^
vendor/gopkg.in/olebedev/go-duktape.v3/api.go:153:2: note: in expansion of macro ‘duk_error’
  duk_error(ctx, err_code, "%s", str);
  ^
github.com/ethereum/go-ethereum/internal/jsre
github.com/ethereum/go-ethereum/crypto
github.com/ethereum/go-ethereum/trie
github.com/ethereum/go-ethereum/crypto/ecies
github.com/ethereum/go-ethereum/p2p/discover
github.com/ethereum/go-ethereum/p2p/discv5
github.com/ethereum/go-ethereum/core/types
github.com/ethereum/go-ethereum/p2p
github.com/ethereum/go-ethereum
github.com/ethereum/go-ethereum/core/state
github.com/ethereum/go-ethereum/core/bloombits
github.com/ethereum/go-ethereum/core/vm
github.com/ethereum/go-ethereum/accounts
github.com/ethereum/go-ethereum/ethclient
github.com/ethereum/go-ethereum/accounts/keystore
github.com/ethereum/go-ethereum/accounts/usbwallet
github.com/ethereum/go-ethereum/consensus
github.com/ethereum/go-ethereum/consensus/misc
github.com/ethereum/go-ethereum/dashboard
github.com/ethereum/go-ethereum/whisper/whisperv5
github.com/ethereum/go-ethereum/consensus/clique
github.com/ethereum/go-ethereum/consensus/ethash
github.com/ethereum/go-ethereum/eth/fetcher
github.com/ethereum/go-ethereum/node
github.com/ethereum/go-ethereum/console
github.com/ethereum/go-ethereum/core
github.com/ethereum/go-ethereum/eth/downloader
github.com/ethereum/go-ethereum/eth/filters
github.com/ethereum/go-ethereum/light
github.com/ethereum/go-ethereum/internal/ethapi
github.com/ethereum/go-ethereum/miner
github.com/ethereum/go-ethereum/eth/gasprice
github.com/ethereum/go-ethereum/eth/tracers
github.com/ethereum/go-ethereum/eth
github.com/ethereum/go-ethereum/les
github.com/ethereum/go-ethereum/ethstats
github.com/ethereum/go-ethereum/cmd/utils
github.com/ethereum/go-ethereum/cmd/geth
Done building.
Run "/home/ubuntu/go-ethereum/build/bin/geth" to launch geth.
srv@local:~/go-ethereum$

network time synchronization status with ntpq

There is a handy program called

ntpstats

, which shows the network time synchronization status of your server under Ubuntu 16, but the older version or other linux distros do not have this program. The output of the program is:

srv@local # ntpstat
synchronised to NTP server (129.250.35.250) at stratum 3 
   time correct to within 133 ms
   polling server every 1024 s

As you can see the time is correct within some interval of milliseconds. In other words your time in the server could be trusted only within these milliseconds! If your server is synchronized with the program ntp your time of the server will be correct within a tiny fractions of a second, closer to a time server much smaller interval of correctness. The interval is computed according to how away the server is and how much the latency of the network of the server is.
ntpstats compute the output with the formula:

rootdisp + rootdelay / 2.0

  • rootdisp – indicating the maximum error relative to the primary reference source. If your server gets the time from an external source (GPS, radio, high precise clock external device), this value is the estimated maximum error of that clock and if your server gets the time from another NTP server (in most cases), this value is the current NTP server’s root dispersion (to which your server is synced) plus the dispersion added by the network link between your server and the NTP server
  • rootdelay – indicating the total roundtrip delay to the primary reference source. Because it is a roundtrip we divide it to 2 to get the single trip delay of the network

You can get these two values with the ntpq program:

srv@local # ntpq -c "rv 0 rootdisp,rootdelay"
rootdelay=202.882, rootdisp=31.816

So the time correct to within 31.816+(202.882/2) = 133.257 ms, which is the output of ntpstat.

Install ethminer in a machine with NVIDIA video card under Ubuntu 16.04 LTS (only commands , real output and benchmark)

Here is the Part 2 of the Install ethminer in a machine with NVIDIA video card under Ubuntu 16.04 LTS. The Part 2 is just all executed commands, which could be put in a bash file to automate the installation of the machine and the compilation of the ethminer and the output for a much clear example with real life example with output. Here you’ll find no explanations, which are included in the “Part 1” (see link above).
So only three sections here, first the bash commands and then the output of executed commands, only the installation of the packets with apt-get is trimmed because of the long output! The example is executing first sudo su to get to the root user, if you do not feel good you can skip the root and adjust it to the user you like with sudo. The second is the output of the commands and the third is the benchmark and hardware information of the machine used for this howto.

1. Commands to execute

sudo su
cd
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
dpkg -i /root/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
add-apt-repository -y ppa:graphics-drivers/ppa
apt-get update -y
apt-get -y install git cmake libleveldb-dev libjsoncpp-dev libboost-all-dev libgmp-dev libreadline-dev libcurl4-gnutls-dev ocl-icd-libopencl1 opencl-headers mesa-common-dev libmicrohttpd-dev build-essential cuda libcrypto++-dev libjsonrpccpp-dev
reboot
sudo su
cd
echo "termcapinfo xterm* ti@:te@" > /root/.screenrc
screen -R ethminer-mining
git clone https://github.com/ethereum-mining/ethminer
mkdir -p /root/ethminer/build
cd /root/ethminer/build
export CFLAGS="-O2 -march=native -msse3 -fomit-frame-pointer -pipe"
export CHOST="x86_64-pc-linux-gnu"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="-Wl,-O1"
cmake .. -DETHASHCUDA=ON -DETHASHCL=ON
make -j 8
cd /root/ethminer/build/ethminer/
export GPU_FORCE_64BIT_PTR=0
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100
./ethminer -U -F http://<your-pool-address>/<your-ethereum-address>

2. Here is the all real output (just the configuration of Pool address and the ethereum address are changed for security reasons, use your own)

 

ubuntu@mylocal:~$ sudo su
root@ip-172-31-3-105:~# wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
--2018-02-23 09:25:04--  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
Resolving developer.download.nvidia.com (developer.download.nvidia.com)... 192.229.211.70, 2606:2800:21f:3aa:dcf:37b:1ed6:1fb
Connecting to developer.download.nvidia.com (developer.download.nvidia.com)|192.229.211.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2820 (2.8K) [application/x-deb]
Saving to: ‘cuda-repo-ubuntu1604_9.1.85-1_amd64.deb’

cuda-repo-ubuntu1604_9.1.85-1_amd64.deb    100%[========================================================================================>]   2.75K  --.-KB/s    in 0s       
                                                                                                                                                                            
2018-02-23 09:25:04 (332 MB/s) - ‘cuda-repo-ubuntu1604_9.1.85-1_amd64.deb’ saved [2820/2820]                                                                                
root@ip-172-31-3-105:~# sudo dpkg -i /root/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
Selecting previously unselected package cuda-repo-ubuntu1604.
(Reading database ... 51107 files and directories currently installed.)
Preparing to unpack .../cuda-repo-ubuntu1604_9.1.85-1_amd64.deb ...
Unpacking cuda-repo-ubuntu1604 (9.1.85-1) ...
Setting up cuda-repo-ubuntu1604 (9.1.85-1) ...

The public CUDA GPG key does not appear to be installed.
To install the key, run this command:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

root@ip-172-31-3-105:~# sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
Executing: /tmp/tmp.Z1DJgpLxrY/gpg.1.sh --fetch-keys
http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
gpg: key 7FA2AF80: public key "cudatools <cudatools@nvidia.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
root@ip-172-31-3-105:~# sudo dpkg -i /root/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
(Reading database ... 51110 files and directories currently installed.)
Preparing to unpack .../cuda-repo-ubuntu1604_9.1.85-1_amd64.deb ...
Unpacking cuda-repo-ubuntu1604 (9.1.85-1) over (9.1.85-1) ...
Setting up cuda-repo-ubuntu1604 (9.1.85-1) ...
root@ip-172-31-3-105:~# sudo add-apt-repository -y ppa:graphics-drivers/ppa
gpg: keyring `/tmp/tmpq7st7q7i/secring.gpg' created
gpg: keyring `/tmp/tmpq7st7q7i/pubring.gpg' created
gpg: requesting key 1118213C from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpq7st7q7i/trustdb.gpg: trustdb created
gpg: key 1118213C: public key "Launchpad PPA for Graphics Drivers Team" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
root@ip-172-31-3-105:~# sudo apt-get update -y
Hit:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]                 
Get:3 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]                                                                                   
Get:4 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/main Sources [868 kB]                                                                                          
Ign:5 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  InRelease                                  
Get:6 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  Release [564 B]                            
Get:7 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/restricted Sources [4,808 B]                                                  
Get:8 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/universe Sources [7,728 kB]                                                   
Get:9 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  Release.gpg [801 B]                                                
Get:10 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]                                                                         
Get:11 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial InRelease [24.3 kB]                                                      
Get:12 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Sources [179 kB]                                                                   
Get:13 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7,532 kB]                      
Get:14 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64  Packages [100 kB]                                             
Get:15 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/universe Translation-en [4,354 kB]                                                            
Get:16 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [144 kB]                                                    
Get:17 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [106 kB]           
Get:18 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Sources [298 kB]                      
Get:19 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2,524 B]
Get:20 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Sources [191 kB]         
Get:21 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [7,968 B]   
Get:22 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [734 kB]      
Get:23 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [305 kB]    
Get:24 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 Packages [11.9 kB]           
Get:25 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [7,560 B]   
Get:26 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en [2,272 B]                           
Get:27 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [591 kB]                                    
Get:28 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [239 kB]                           
Get:29 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [16.2 kB]                              
Get:30 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8,052 B]                           
Get:31 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Sources [3,432 B]                                            
Get:32 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Sources [4,904 B]                                 
Get:33 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [4,836 B]                              
Get:34 http://security.ubuntu.com/ubuntu xenial-security/main Sources [116 kB]                                                     
Get:35 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [3,220 B]                           
Get:36 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [6,628 B]                                          
Get:37 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [3,768 B]                                     
Get:38 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main Translation-en [4,224 B]                                                   
Get:39 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2,116 B]   
Get:40 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [59.1 kB]
Get:41 http://security.ubuntu.com/ubuntu xenial-security/multiverse Sources [1,516 B]
Get:42 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [458 kB]
Get:43 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [197 kB]
Get:44 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [7,224 B]
Get:45 http://security.ubuntu.com/ubuntu xenial-security/restricted Translation-en [2,152 B]
Get:46 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [319 kB]
Get:47 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [119 kB]
Get:48 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3,208 B]
Get:49 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [1,408 B]
Fetched 25.1 MB in 3s (6,275 kB/s)                                  
Reading package lists... Done
root@ip-172-31-3-105:~# sudo apt-get install git cmake libleveldb-dev libjsoncpp-dev libboost-all-dev libgmp-dev libreadline-dev libcurl4-gnutls-dev ocl-icd-libopencl1 opencl-headers mesa-common-dev libmicrohttpd-dev build-essential cuda libcrypto++-dev libjsonrpccpp-dev -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
git is already the newest version (1:2.7.4-0ubuntu1.3).
The following additional packages will be installed:
  adwaita-icon-theme apg aptdaemon aspell aspell-en at-spi2-core autotools-dev avahi-daemon avahi-utils bbswitch-dkms binutils bluez bluez-obexd ca-certificates-java
  cheese-common cmake-data colord colord-data cpp cpp-5 cracklib-runtime crda cuda-9-1 cuda-command-line-tools-9-1 cuda-compiler-9-1 cuda-cublas-9-1 cuda-cublas-dev-9-1
  cuda-cudart-9-1 cuda-cudart-dev-9-1 cuda-cufft-9-1 cuda-cufft-dev-9-1 cuda-cuobjdump-9-1 cuda-cupti-9-1 cuda-curand-9-1 cuda-curand-dev-9-1 cuda-cusolver-9-1
  cuda-cusolver-dev-9-1 cuda-cusparse-9-1 cuda-cusparse-dev-9-1 cuda-demo-suite-9-1 cuda-documentation-9-1 cuda-driver-dev-9-1 cuda-drivers cuda-gdb-9-1
  cuda-gpu-library-advisor-9-1 cuda-libraries-9-1 cuda-libraries-dev-9-1 cuda-license-9-1 cuda-memcheck-9-1 cuda-misc-headers-9-1 cuda-npp-9-1 cuda-npp-dev-9-1
  cuda-nsight-9-1 cuda-nvcc-9-1 cuda-nvdisasm-9-1 cuda-nvgraph-9-1 cuda-nvgraph-dev-9-1 cuda-nvml-dev-9-1 cuda-nvprof-9-1 cuda-nvprune-9-1 cuda-nvrtc-9-1
  cuda-nvrtc-dev-9-1 cuda-nvtx-9-1 cuda-nvvp-9-1 cuda-runtime-9-1 cuda-samples-9-1 cuda-toolkit-9-1 cuda-tools-9-1 cuda-visual-tools-9-1 cups-pk-helper curl dbus-x11
  dconf-cli dconf-gsettings-backend dconf-service default-jre default-jre-headless desktop-file-utils dictionaries-common diffstat dkms dpkg-dev emacsen-common enchant
  evolution-data-server evolution-data-server-common evolution-data-server-online-accounts fakeroot fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-extra
  freeglut3 freeglut3-dev g++ g++-5 gcc gcc-5 gcc-5-base gcr geoclue geoclue-ubuntu-geoip gettext gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0
  gir1.2-gnomekeyring-1.0 gir1.2-gtk-3.0 gir1.2-ibus-1.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gkbd-capplet glib-networking glib-networking-common
  glib-networking-services gnome-bluetooth gnome-desktop3-data gnome-keyring gnome-menus gnome-power-manager gnome-screensaver gnome-session-bin
  gnome-settings-daemon-schemas gnome-user-guide gnome-user-share gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-plugins-base
  gstreamer1.0-plugins-good gstreamer1.0-x gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-libs hardening-includes hicolor-icon-theme humanity-icon-theme hunspell-en-us
  hwdata ibus ibus-gtk ibus-gtk3 icu-devtools im-config indicator-applet indicator-application indicator-bluetooth indicator-datetime indicator-keyboard
  indicator-messages indicator-power indicator-session indicator-sound intltool-debian ippusbxd iputils-arping iw java-common lib32gcc1 libaa1 libaccount-plugin-1.0-0
  libaccount-plugin-generic-oauth libaccount-plugin-google libaccounts-glib0 libaccounts-qt5-1 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libappindicator3-1 libapt-pkg-perl libarchive-zip-perl libarchive13 libargtable2-0 libasan2 libasound2 libasound2-data libasound2-plugins libaspell15 libasprintf-dev
  libassuan0 libasyncns0 libatasmart4 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatomic1 libatspi2.0-0 libauthen-sasl-perl libavahi-client3 libavahi-common-data
  libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libbluetooth3 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 libc6-dev
  libc6-i386 libcaca0 libcairo-gobject2 libcairo2 libcamel-1.2-54 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcapnp-0.5.3 libcc1-0
  libcdio-cdda1 libcdio-paranoia1 libcdio13 libcdparanoia0 libcgi-fast-perl libcgi-pm-perl libcgmanager0 libcheese-gtk25 libcheese8 libcilkrts5 libclass-accessor-perl
  libclone-perl libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord2
  libcolorhug2 libcrack2 libcroco3 libcrypto++9v5 libcuda1-390 libcups2 libcurl3 libcurl3-gnutls libdaemon0 libdata-alias-perl libdatrie1 libdbusmenu-glib4
  libdbusmenu-gtk3-4 libdconf1 libdigest-hmac-perl libdouble-conversion1v5 libdpkg-perl libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-intel1 libdrm-nouveau2
  libdrm-radeon1 libdrm2 libdv4 libebackend-1.2-10 libebook-1.2-16 libebook-contacts-1.2-2 libecal-1.2-19 libedata-book-1.2-25 libedata-cal-1.2-28 libedataserver-1.2-21
  libegl1-mesa libemail-valid-perl libenchant1c2a libencode-locale-perl libepoxy0 libevdev2 libexif12 libexpat1-dev libexporter-tiny-perl libfakeroot libfcgi-perl
  libfcitx-config4 libfcitx-gclient0 libfcitx-utils0 libfftw3-single3 libfile-basedir-perl libfile-fcntllock-perl libflac8 libfontconfig1 libfontenc1 libgbm1 libgcc-5-dev
  libgck-1-0 libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1 libgcrypt20-dev libgd3 libgdata-common libgdata22 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgee-0.8-2
  libgeoclue0 libgeocode-glib0 libgeonames0 libgettextpo-dev libgettextpo0 libgif7 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglib2.0-bin
  libglu1-mesa libglu1-mesa-dev libgmpxx4ldbl libgnome-bluetooth13 libgnome-desktop-3-12 libgnome-keyring-common libgnome-keyring0 libgnome-menu-3-0 libgnomekbd-common
  libgnomekbd8 libgnutls-dev libgnutls28-dev libgnutlsxx28 libgoa-1.0-0b libgoa-1.0-common libgomp1 libgpg-error-dev libgphoto2-6 libgphoto2-l10n libgphoto2-port12
  libgraphite2-3 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin
  libgtk2.0-common libgtop-2.0-10 libgtop2-common libgudev-1.0-0 libgusb2 libgweather-3-6 libgweather-common libharfbuzz-icu0 libharfbuzz0b libhtml-parser-perl
  libhtml-tagset-perl libhttp-date-perl libhttp-message-perl libhunspell-1.3-0 libhwloc-dev libhwloc-plugins libhwloc5 libhyphen0 libibus-1.0-5 libibverbs-dev libibverbs1
  libical1a libice-dev libice6 libicu-dev libidn11-dev libido3-0.1-0 libiec61883-0 libieee1284-3 libimobiledevice6 libindicator3-7 libinput-bin libinput10 libio-html-perl
  libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libisl15 libitm1 libjack-jackd2-0 libjansson4
  libjavascriptcoregtk-4.0-18 libjbig0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libjsoncpp1 libjsonrpccpp-client0 libjsonrpccpp-common0
  libjsonrpccpp-server0 libjsonrpccpp-stub0 liblcms2-2 libldb1 libleveldb1v5 liblightdm-gobject-1-0 liblist-moreutils-perl libllvm5.0 liblsan0 libltdl-dev libltdl7
  liblwp-mediatypes-perl libmailtools-perl libmbim-glib4 libmbim-proxy libmicrohttpd10 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmm-glib0 libmpc3 libmpx0
  libmtdev1 libmtp-common libmtp-runtime libmtp9 libnautilus-extension1a libndp0 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-libidn-perl
  libnet-smtp-ssl-perl libnet-ssleay-perl libnih-dbus1 libnl-3-200 libnl-genl-3-200 libnm-glib4 libnm-gtk-common libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0
  libnotify4 libnspr4 libnss-mdns libnss3 libnss3-nssdb libnuma-dev libnuma1 liboauth0 libogg0 libopenmpi-dev libopenmpi1.10 libopus0 liborc-0.4-0 libp11-kit-dev
  libp11-kit-gnome-keyring libpackagekit-glib2-16 libpam-gnome-keyring libpanel-applet0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0
  libparse-debianchangelog-perl libpciaccess0 libpcre16-3 libpcsclite1 libperlio-gzip-perl libpixman-1-0 libplist3 libprotobuf-lite9v5 libproxy1v5 libpthread-stubs0-dev
  libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality-common libpwquality1 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal
  libpython2.7-stdlib libqmi-glib5 libqmi-proxy libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5
  libqt5sql5-sqlite libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xml5 libquadmath0 libraw1394-11 libreadline6-dev librest-0.7-0 librsvg2-2 librsvg2-common libsamplerate0
  libsane libsane-common libsecret-1-0 libsecret-common libsensors4 libshout3 libsignon-extension1 libsignon-glib1 libsignon-plugins-common1 libsignon-qt5-1 libsm-dev
  libsm6 libsmbclient libsnappy1v5 libsndfile1 libsocket6-perl libsoup-gnome2.4-1 libsoup2.4-1 libspeex1 libspeexdsp1 libstdc++-5-dev libstdc++6 libsub-name-perl
  libtag1v5 libtag1v5-vanilla libtalloc2 libtasn1-6 libtasn1-6-dev libtasn1-doc libtdb1 libtevent0 libtext-levenshtein-perl libthai-data libthai0 libtheora0 libtiff5
  libtimedate-perl libtimezonemap-data libtimezonemap1 libtinfo-dev libtool libtsan0 libtxc-dxtn-s2tc0 libubsan0 libudisks2-0 libunistring0 libunity-control-center1
  libunity-settings-daemon1 libupower-glib3 liburi-perl liburl-dispatcher1 libusbmuxd4 libv4l-0 libv4lconvert0 libvdpau1 libvisual-0.4-0 libvorbis0a libvorbisenc2
  libvorbisfile3 libvpx3 libwacom-bin libwacom-common libwacom2 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1-mesa libwayland-server0 libwbclient0
  libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 libwebp5 libwebrtc-audio-processing-0 libx11-dev libx11-doc libx11-xcb-dev libx11-xcb1 libxau-dev libxaw7 libxcb-dri2-0
  libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0
  libxcb-randr0-dev libxcb-render-util0 libxcb-render0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1
  libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xkb1 libxcb1-dev libxcomposite1 libxcursor1 libxdamage-dev libxdamage1 libxdmcp-dev libxext-dev libxfixes-dev libxfixes3
  libxfont1 libxft2 libxi-dev libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0 libxkbfile1 libxklavier16 libxmu-dev libxmu-headers libxmu6 libxnvctrl0 libxpm4
  libxrandr2 libxrender1 libxshmfence-dev libxshmfence1 libxslt1.1 libxt-dev libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl libyelp0
  lightdm lintian linux-libc-dev make manpages-dev mesa-vdpau-drivers mobile-broadband-provider-info modemmanager mountall mousetweaks mpi-default-bin mpi-default-dev
  nautilus-data nettle-dev network-manager network-manager-gnome network-manager-pptp notification-daemon nvidia-390 nvidia-390-dev nvidia-modprobe nvidia-opencl-icd-390
  nvidia-prime nvidia-settings openjdk-8-jre openjdk-8-jre-headless openmpi-bin openmpi-common p11-kit p11-kit-modules patchutils pinentry-gnome3 pkg-config
  policykit-1-gnome ppp pptp-linux pulseaudio pulseaudio-module-x11 pulseaudio-utils python python-dev python-minimal python-talloc python2.7 python2.7-dev
  python2.7-minimal python3-aptdaemon python3-aptdaemon.pkcompat python3-bs4 python3-cairo python3-cups python3-cupshelpers python3-defer python3-html5lib python3-lxml
  python3-xdg python3-xkit qttranslations5-l10n rtkit samba-libs screen-resolution-extra session-migration signon-keyring-extension signon-plugin-oauth2
  signon-plugin-password signon-ui signon-ui-service signon-ui-x11 signond sound-theme-freedesktop system-config-printer-common system-config-printer-gnome
  system-config-printer-udev t1utils ubuntu-mono ubuntu-system-service ubuntu-touch-sounds udisks2 unity-control-center unity-control-center-faces
  unity-control-center-signon unity-greeter unity-settings-daemon upower upstart usb-modeswitch usb-modeswitch-data usbmuxd vdpau-driver-all wamerican wireless-regdb
  wpasupplicant x11-common x11-utils x11-xkb-utils x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev
  x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xfonts-base xfonts-encodings xfonts-utils xorg-sgml-doctools xserver-common xserver-xorg xserver-xorg-core
  xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-synaptics xserver-xorg-input-vmmouse xserver-xorg-input-wacom xserver-xorg-legacy xtrans-dev yelp
  yelp-xsl zlib1g-dev
Suggested packages:
  aspell-doc spellutils avahi-autoipd bumblebee binutils-doc codeblocks eclipse ninja-build colord-sensor-argyll cpp-doc gcc-5-locales default-java-plugin debian-keyring
  evolution evolution-data-server-dbg 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 gettext-doc
  autopoint apache2-bin libapache2-mod-dnssd samba-common hunspell openoffice.org-hunspell | openoffice.org-core ibus-clutter ibus-doc ibus-qt4 click powerd
  unity-system-compositor zenity unity-greeter-session-broadcast lrzip alsa-utils libgssapi-perl libboost-doc graphviz libboost1.58-doc gccxml libmpfrc++-dev libntl-dev
  xsltproc doxygen docbook-xml docbook-xsl default-jdk fop glibc-doc libcanberra-gtk0 libgles2-mesa | libgles2 cups-common libcurl4-doc libcurl3-dbg libkrb5-dev
  libldap2-dev librtmp-dev libdv-bin oss-compat libenchant-voikko fcitx libfftw3-bin libfftw3-dev libgcrypt20-doc libgd-tools gmp-doc libgmp10-doc libmpfr-dev gnutls-doc
  gnutls-bin guile-gnutls gphoto2 libvisual-0.4-plugins gstreamer1.0-tools libdata-dump-perl libhwloc-contrib-plugins libice-doc icu-doc libusbmuxd-tools jackd2
  libjsonrpccpp-tools liblcms2-utils leveldb-doc libtool-doc avahi-autoipd | zeroconf opennmpi-doc opus-tools libhtml-template-perl libxml-simple-perl pcscd
  libqt5libqgtk2 qt5-image-formats-plugins qtwayland5 libraw1394-doc readline-doc librsvg2-bin hplip libsane-extras sane-utils lm-sensors libsm-doc speex libstdc++-5-doc
  automaken gfortran | fortran95-compiler gcj-jdk libwww-perl url-dispatcher libxcb-doc libxext-doc libxt-doc bindfs binutils-multiarch libtext-template-perl make-doc
  nautilus network-manager-openconnect-gnome network-manager-openvpn-gnome network-manager-vpnc-gnome network-manager-pptp-gnome icedtea-8-plugin fonts-ipafont-gothic
  fonts-ipafont-mincho fonts-wqy-microhei fonts-wqy-zenhei fonts-indic gfortran openmpi-checkpoint pinentry-doc pavumeter pavucontrol paman paprefs python-doc python-tk
  python2.7-doc binfmt-support python3-genshi python3-lxml-dbg python-lxml-doc python3-smbc reiserfsprogs exfat-utils libcanberra-gtk-module x11-xserver-utils
  lightdm-remote-session-freerdp lightdm-remote-session-uccsconfigure remote-login-service metacity | x-window-manager upstart-monitor comgt wvdial libvdpau-va-gl1
  nvidia-vdpau-driver nvidia-legacy-340xx-vdpau-driver wpagui libengine-pkcs11-openssl mesa-utils xfonts-100dpi | xfonts-75dpi xfonts-scalable gpointing-device-settings
  touchfreeze xinput
The following NEW packages will be installed:
  adwaita-icon-theme apg aptdaemon aspell aspell-en at-spi2-core autotools-dev avahi-daemon avahi-utils bbswitch-dkms binutils bluez bluez-obexd build-essential
  ca-certificates-java cheese-common cmake cmake-data colord colord-data cpp cpp-5 cracklib-runtime crda cuda cuda-9-1 cuda-command-line-tools-9-1 cuda-compiler-9-1
  cuda-cublas-9-1 cuda-cublas-dev-9-1 cuda-cudart-9-1 cuda-cudart-dev-9-1 cuda-cufft-9-1 cuda-cufft-dev-9-1 cuda-cuobjdump-9-1 cuda-cupti-9-1 cuda-curand-9-1
  cuda-curand-dev-9-1 cuda-cusolver-9-1 cuda-cusolver-dev-9-1 cuda-cusparse-9-1 cuda-cusparse-dev-9-1 cuda-demo-suite-9-1 cuda-documentation-9-1 cuda-driver-dev-9-1
  cuda-drivers cuda-gdb-9-1 cuda-gpu-library-advisor-9-1 cuda-libraries-9-1 cuda-libraries-dev-9-1 cuda-license-9-1 cuda-memcheck-9-1 cuda-misc-headers-9-1 cuda-npp-9-1
  cuda-npp-dev-9-1 cuda-nsight-9-1 cuda-nvcc-9-1 cuda-nvdisasm-9-1 cuda-nvgraph-9-1 cuda-nvgraph-dev-9-1 cuda-nvml-dev-9-1 cuda-nvprof-9-1 cuda-nvprune-9-1 cuda-nvrtc-9-1
  cuda-nvrtc-dev-9-1 cuda-nvtx-9-1 cuda-nvvp-9-1 cuda-runtime-9-1 cuda-samples-9-1 cuda-toolkit-9-1 cuda-tools-9-1 cuda-visual-tools-9-1 cups-pk-helper dbus-x11 dconf-cli
  dconf-gsettings-backend dconf-service default-jre default-jre-headless desktop-file-utils dictionaries-common diffstat dkms dpkg-dev emacsen-common enchant
  evolution-data-server evolution-data-server-common evolution-data-server-online-accounts fakeroot fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-extra
  freeglut3 freeglut3-dev g++ g++-5 gcc gcc-5 gcr geoclue geoclue-ubuntu-geoip gettext gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gnomekeyring-1.0
  gir1.2-gtk-3.0 gir1.2-ibus-1.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gkbd-capplet glib-networking glib-networking-common glib-networking-services
  gnome-bluetooth gnome-desktop3-data gnome-keyring gnome-menus gnome-power-manager gnome-screensaver gnome-session-bin gnome-settings-daemon-schemas gnome-user-guide
  gnome-user-share gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gvfs
  gvfs-backends gvfs-common gvfs-daemons gvfs-libs hardening-includes hicolor-icon-theme humanity-icon-theme hunspell-en-us hwdata ibus ibus-gtk ibus-gtk3 icu-devtools
  im-config indicator-applet indicator-application indicator-bluetooth indicator-datetime indicator-keyboard indicator-messages indicator-power indicator-session
  indicator-sound intltool-debian ippusbxd iputils-arping iw java-common lib32gcc1 libaa1 libaccount-plugin-1.0-0 libaccount-plugin-generic-oauth libaccount-plugin-google
  libaccounts-glib0 libaccounts-qt5-1 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libappindicator3-1 libapt-pkg-perl libarchive-zip-perl
  libarchive13 libargtable2-0 libasan2 libasound2 libasound2-data libasound2-plugins libaspell15 libasprintf-dev libassuan0 libasyncns0 libatasmart4 libatk-bridge2.0-0
  libatk1.0-0 libatk1.0-data libatomic1 libatspi2.0-0 libauthen-sasl-perl libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1
  libavc1394-0 libbluetooth3 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
  libc6-i386 libcaca0 libcairo-gobject2 libcairo2 libcamel-1.2-54 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcapnp-0.5.3 libcc1-0
  libcdio-cdda1 libcdio-paranoia1 libcdio13 libcdparanoia0 libcgi-fast-perl libcgi-pm-perl libcgmanager0 libcheese-gtk25 libcheese8 libcilkrts5 libclass-accessor-perl
  libclone-perl libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord2
  libcolorhug2 libcrack2 libcroco3 libcrypto++-dev libcrypto++9v5 libcuda1-390 libcups2 libcurl3 libcurl4-gnutls-dev libdaemon0 libdata-alias-perl libdatrie1
  libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libdigest-hmac-perl libdouble-conversion1v5 libdpkg-perl libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-intel1
  libdrm-nouveau2 libdrm-radeon1 libdv4 libebackend-1.2-10 libebook-1.2-16 libebook-contacts-1.2-2 libecal-1.2-19 libedata-book-1.2-25 libedata-cal-1.2-28
  libedataserver-1.2-21 libegl1-mesa libemail-valid-perl libenchant1c2a libencode-locale-perl libepoxy0 libevdev2 libexif12 libexpat1-dev libexporter-tiny-perl
  libfakeroot libfcgi-perl libfcitx-config4 libfcitx-gclient0 libfcitx-utils0 libfftw3-single3 libfile-basedir-perl libfile-fcntllock-perl libflac8 libfontconfig1
  libfontenc1 libgbm1 libgcc-5-dev libgck-1-0 libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1 libgcrypt20-dev libgd3 libgdata-common libgdata22 libgdk-pixbuf2.0-0
  libgdk-pixbuf2.0-common libgee-0.8-2 libgeoclue0 libgeocode-glib0 libgeonames0 libgettextpo-dev libgettextpo0 libgif7 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx
  libglapi-mesa libglib2.0-bin libglu1-mesa libglu1-mesa-dev libgmp-dev libgmpxx4ldbl libgnome-bluetooth13 libgnome-desktop-3-12 libgnome-keyring-common libgnome-keyring0
  libgnome-menu-3-0 libgnomekbd-common libgnomekbd8 libgnutls-dev libgnutls28-dev libgnutlsxx28 libgoa-1.0-0b libgoa-1.0-common libgomp1 libgpg-error-dev libgphoto2-6
  libgphoto2-l10n libgphoto2-port12 libgraphite2-3 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common
  libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtop-2.0-10 libgtop2-common libgudev-1.0-0 libgusb2 libgweather-3-6 libgweather-common libharfbuzz-icu0 libharfbuzz0b
  libhtml-parser-perl libhtml-tagset-perl libhttp-date-perl libhttp-message-perl libhunspell-1.3-0 libhwloc-dev libhwloc-plugins libhwloc5 libhyphen0 libibus-1.0-5
  libibverbs-dev libibverbs1 libical1a libice-dev libice6 libicu-dev libidn11-dev libido3-0.1-0 libiec61883-0 libieee1284-3 libimobiledevice6 libindicator3-7 libinput-bin
  libinput10 libio-html-perl libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libisl15 libitm1
  libjack-jackd2-0 libjansson4 libjavascriptcoregtk-4.0-18 libjbig0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libjsoncpp-dev libjsoncpp1
  libjsonrpccpp-client0 libjsonrpccpp-common0 libjsonrpccpp-dev libjsonrpccpp-server0 libjsonrpccpp-stub0 liblcms2-2 libldb1 libleveldb-dev libleveldb1v5
  liblightdm-gobject-1-0 liblist-moreutils-perl libllvm5.0 liblsan0 libltdl-dev libltdl7 liblwp-mediatypes-perl libmailtools-perl libmbim-glib4 libmbim-proxy
  libmicrohttpd-dev libmicrohttpd10 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmm-glib0 libmpc3 libmpx0 libmtdev1 libmtp-common libmtp-runtime libmtp9
  libnautilus-extension1a libndp0 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-libidn-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnih-dbus1
  libnl-3-200 libnl-genl-3-200 libnm-glib4 libnm-gtk-common libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0 libnotify4 libnspr4 libnss-mdns libnss3 libnss3-nssdb
  libnuma-dev liboauth0 libogg0 libopenmpi-dev libopenmpi1.10 libopus0 liborc-0.4-0 libp11-kit-dev libp11-kit-gnome-keyring libpackagekit-glib2-16 libpam-gnome-keyring
  libpanel-applet0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0 libparse-debianchangelog-perl libpciaccess0 libpcre16-3 libpcsclite1
  libperlio-gzip-perl libpixman-1-0 libplist3 libprotobuf-lite9v5 libproxy1v5 libpthread-stubs0-dev libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality-common
  libpwquality1 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libqmi-glib5 libqmi-proxy libqt5core5a libqt5dbus5
  libqt5gui5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5webkit5 libqt5widgets5 libqt5xml5
  libquadmath0 libraw1394-11 libreadline-dev libreadline6-dev librest-0.7-0 librsvg2-2 librsvg2-common libsamplerate0 libsane libsane-common libsecret-1-0
  libsecret-common libsensors4 libshout3 libsignon-extension1 libsignon-glib1 libsignon-plugins-common1 libsignon-qt5-1 libsm-dev libsm6 libsmbclient libsnappy1v5
  libsndfile1 libsocket6-perl libsoup-gnome2.4-1 libsoup2.4-1 libspeex1 libspeexdsp1 libstdc++-5-dev libsub-name-perl libtag1v5 libtag1v5-vanilla libtalloc2
  libtasn1-6-dev libtasn1-doc libtdb1 libtevent0 libtext-levenshtein-perl libthai-data libthai0 libtheora0 libtiff5 libtimedate-perl libtimezonemap-data libtimezonemap1
  libtinfo-dev libtool libtsan0 libtxc-dxtn-s2tc0 libubsan0 libudisks2-0 libunistring0 libunity-control-center1 libunity-settings-daemon1 libupower-glib3 liburi-perl
  liburl-dispatcher1 libusbmuxd4 libv4l-0 libv4lconvert0 libvdpau1 libvisual-0.4-0 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx3 libwacom-bin libwacom-common libwacom2
  libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1-mesa libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 libwebp5
  libwebrtc-audio-processing-0 libx11-dev libx11-doc libx11-xcb-dev libx11-xcb1 libxau-dev libxaw7 libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev
  libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-render-util0
  libxcb-render0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xkb1
  libxcb1-dev libxcomposite1 libxcursor1 libxdamage-dev libxdamage1 libxdmcp-dev libxext-dev libxfixes-dev libxfixes3 libxfont1 libxft2 libxi-dev libxi6 libxinerama1
  libxkbcommon-x11-0 libxkbcommon0 libxkbfile1 libxklavier16 libxmu-dev libxmu-headers libxmu6 libxnvctrl0 libxpm4 libxrandr2 libxrender1 libxshmfence-dev libxshmfence1
  libxslt1.1 libxt-dev libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl libyelp0 lightdm lintian linux-libc-dev make manpages-dev
  mesa-common-dev mesa-vdpau-drivers mobile-broadband-provider-info modemmanager mountall mousetweaks mpi-default-bin mpi-default-dev nautilus-data nettle-dev
  network-manager network-manager-gnome network-manager-pptp notification-daemon nvidia-390 nvidia-390-dev nvidia-modprobe nvidia-opencl-icd-390 nvidia-prime
  nvidia-settings ocl-icd-libopencl1 opencl-headers openjdk-8-jre openjdk-8-jre-headless openmpi-bin openmpi-common p11-kit p11-kit-modules patchutils pinentry-gnome3
  pkg-config policykit-1-gnome ppp pptp-linux pulseaudio pulseaudio-module-x11 pulseaudio-utils python python-dev python-minimal python-talloc python2.7 python2.7-dev
  python2.7-minimal python3-aptdaemon python3-aptdaemon.pkcompat python3-bs4 python3-cairo python3-cups python3-cupshelpers python3-defer python3-html5lib python3-lxml
  python3-xdg python3-xkit qttranslations5-l10n rtkit samba-libs screen-resolution-extra session-migration signon-keyring-extension signon-plugin-oauth2
  signon-plugin-password signon-ui signon-ui-service signon-ui-x11 signond sound-theme-freedesktop system-config-printer-common system-config-printer-gnome
  system-config-printer-udev t1utils ubuntu-mono ubuntu-system-service ubuntu-touch-sounds udisks2 unity-control-center unity-control-center-faces
  unity-control-center-signon unity-greeter unity-settings-daemon upower upstart usb-modeswitch usb-modeswitch-data usbmuxd vdpau-driver-all wamerican wireless-regdb
  wpasupplicant x11-common x11-utils x11-xkb-utils x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev
  x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xfonts-base xfonts-encodings xfonts-utils xorg-sgml-doctools xserver-common xserver-xorg xserver-xorg-core
  xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-synaptics xserver-xorg-input-vmmouse xserver-xorg-input-wacom xserver-xorg-legacy xtrans-dev yelp
  yelp-xsl zlib1g-dev
The following packages will be upgraded:
  curl gcc-5-base libc6 libcurl3-gnutls libdrm2 libnuma1 libstdc++6 libtasn1-6
8 upgraded, 852 newly installed, 0 to remove and 92 not upgraded.
Need to get 1,502 MB of archives.
After this operation, 4,194 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 [1,121 kB]
Get:2 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc6 amd64 2.23-0ubuntu10 [2,580 kB]
Get:3 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libarchive13 amd64 3.1.2-11ubuntu0.16.04.3 [262 kB]
Get:4 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libcurl3 amd64 7.47.0-1ubuntu2.6 [187 kB]
...
...
Setting up nvidia-390 (390.30-0ubuntu1) ...
update-alternatives: using /usr/lib/nvidia-390/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode
update-alternatives: warning: skip creation of /usr/share/grub-gfxpayload-lists/blacklist/10_proprietary-graphics-drivers because associated file /usr/share/nvidia-390/nvidia-390.grub-gfxpayload (of link group x86_64-linux-gnu_gl_conf) doesn't exist
update-alternatives: using /usr/lib/nvidia-390/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in auto mode
update-alternatives: using /usr/lib/nvidia-390/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in auto mode
update-alternatives: using /usr/lib/nvidia-390/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in auto mode
update-alternatives: using /usr/share/nvidia-390/glamor.conf to provide /usr/share/X11/xorg.conf.d/glamoregl.conf (glamor_conf) in auto mode
update-initramfs: deferring update (trigger activated)

A modprobe blacklist file has been created at /etc/modprobe.d to prevent Nouveau from loading. This can be reverted by deleting /etc/modprobe.d/nvidia-graphics-drivers.conf.
A new initrd image has also been created. To revert, please replace /boot/initrd-4.4.0-1041-aws with /boot/initrd-$(uname -r)-backup.

*****************************************************************************
*** Reboot your computer and verify that the NVIDIA graphics driver can   ***
*** be loaded.                                                            ***
*****************************************************************************

Adding system user `nvidia-persistenced' (UID 115) ...
Adding new group `nvidia-persistenced' (GID 122) ...
Adding new user `nvidia-persistenced' (UID 115) with group `nvidia-persistenced' ...
Not creating home directory `/'.
Loading new nvidia-390-390.30 DKMS files...
First Installation: checking all kernels...
Building only for 4.4.0-1041-aws
Building for architecture x86_64
Building initial module for 4.4.0-1041-aws
Done.

nvidia_390:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

nvidia_390_modeset.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

nvidia_390_drm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

nvidia_390_uvm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-1041-aws/updates/dkms/

depmod....

DKMS: install completed.
Setting up nvidia-390-dev (390.30-0ubuntu1) ...
Setting up libcuda1-390 (390.30-0ubuntu1) ...
Setting up nvidia-modprobe (390.30-0ubuntu1) ...
....
....

done.
done.
root@ip-172-31-3-105:~# reboot
root@ip-172-31-3-105:~/ethminer/build# make -j 4
Scanning dependencies of target ethash
[  5%] Building C object libethash/CMakeFiles/ethash.dir/sha3.c.o
[  5%] Building C object libethash/CMakeFiles/ethash.dir/internal.c.o
[  5%] Built target BuildInfo.h
Scanning dependencies of target devcore
[  8%] Building CXX object libdevcore/CMakeFiles/devcore.dir/RLP.cpp.o
[ 10%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Worker.cpp.o
[ 13%] Building CXX object libdevcore/CMakeFiles/devcore.dir/FixedHash.cpp.o
[ 16%] Linking C static library libethash.a
[ 16%] Built target ethash
[ 18%] Building CXX object libdevcore/CMakeFiles/devcore.dir/SHA3.cpp.o
[ 21%] Building CXX object libdevcore/CMakeFiles/devcore.dir/CommonData.cpp.o
[ 24%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Log.cpp.o
[ 27%] Linking CXX static library libdevcore.a
[ 27%] Built target devcore
Scanning dependencies of target hwmon
[ 32%] Building CXX object libhwmon/CMakeFiles/hwmon.dir/wraphelper.cpp.o
[ 32%] Building CXX object libhwmon/CMakeFiles/hwmon.dir/wrapnvml.cpp.o
Scanning dependencies of target apicore
[ 35%] Building CXX object libhwmon/CMakeFiles/hwmon.dir/wrapadl.cpp.o
Scanning dependencies of target poolprotocols
[ 37%] Building CXX object libhwmon/CMakeFiles/hwmon.dir/wrapamdsysfs.cpp.o
[ 40%] Building CXX object libapicore/CMakeFiles/apicore.dir/Api.cpp.o
[ 43%] Building CXX object libapicore/CMakeFiles/apicore.dir/ApiServer.cpp.o
[ 45%] Building CXX object libpoolprotocols/CMakeFiles/poolprotocols.dir/PoolClient.cpp.o
[ 48%] Linking CXX static library libhwmon.a
[ 48%] Built target hwmon
[ 51%] Building CXX object libpoolprotocols/CMakeFiles/poolprotocols.dir/PoolManager.cpp.o
[ 54%] Building CXX object libpoolprotocols/CMakeFiles/poolprotocols.dir/testing/SimulateClient.cpp.o
[ 56%] Building CXX object libpoolprotocols/CMakeFiles/poolprotocols.dir/stratum/EthStratumClient.cpp.o
[ 59%] Linking CXX static library libapicore.a
[ 59%] Built target apicore
[ 62%] Building NVCC (Device) object libethash-cuda/CMakeFiles/ethash-cuda.dir/ethash-cuda_generated_ethash_cuda_miner_kernel.cu.o
/root/ethminer/libpoolprotocols/testing/SimulateClient.cpp:41:52: warning: unused parameter ‘rate’ [-Wunused-parameter]
 void SimulateClient::submitHashrate(string const & rate)
                                                    ^
[ 64%] Building CXX object libpoolprotocols/CMakeFiles/poolprotocols.dir/getwork/EthGetworkClient.cpp.o
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_30'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    656 bytes stack frame, 1136 bytes spill stores, 844 bytes spill loads
ptxas info    : Used 63 registers, 324 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_30'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    160 bytes stack frame, 408 bytes spill stores, 420 bytes spill loads
ptxas info    : Used 63 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_30'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    104 bytes stack frame, 288 bytes spill stores, 276 bytes spill loads
ptxas info    : Used 63 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_30'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    72 bytes stack frame, 236 bytes spill stores, 212 bytes spill loads
ptxas info    : Used 63 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_30'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    72 bytes stack frame, 224 bytes spill stores, 204 bytes spill loads
ptxas info    : Used 63 registers, 336 bytes cmem[0]
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_35'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 79 registers, 324 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_35'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 101 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_35'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_35'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 79 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_35'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 79 registers, 336 bytes cmem[0]
[ 67%] Linking CXX static library libpoolprotocols.a
[ 67%] Built target poolprotocols
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_50'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 96 registers, 324 bytes cmem[0], 4 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_50'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 107 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_50'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_50'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_50'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_52'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 96 registers, 324 bytes cmem[0], 4 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_52'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 107 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_52'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_52'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_52'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_53'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 96 registers, 324 bytes cmem[0], 4 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_53'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 107 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_53'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_53'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_53'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_60'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 96 registers, 324 bytes cmem[0], 4 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_60'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 107 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_60'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_60'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_60'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_61'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 96 registers, 324 bytes cmem[0], 4 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_61'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 107 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_61'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_61'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_61'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_62'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 96 registers, 324 bytes cmem[0], 4 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_62'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 107 registers, 336 bytes cmem[0], 96 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_62'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_62'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_62'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 336 bytes cmem[0]
ptxas info    : 0 bytes gmem, 264 bytes cmem[3]
ptxas info    : Compiling entry function '_Z25ethash_calculate_dag_itemj' for 'sm_70'
ptxas info    : Function properties for _Z25ethash_calculate_dag_itemj
    272 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 82 registers, 356 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj8EEvPV14search_resultsm' for 'sm_70'
ptxas info    : Function properties for _Z13ethash_searchILj8EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 108 registers, 368 bytes cmem[0], 104 bytes cmem[2]
ptxas info    : Compiling entry function '_Z13ethash_searchILj4EEvPV14search_resultsm' for 'sm_70'
ptxas info    : Function properties for _Z13ethash_searchILj4EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 86 registers, 368 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj2EEvPV14search_resultsm' for 'sm_70'
ptxas info    : Function properties for _Z13ethash_searchILj2EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 84 registers, 368 bytes cmem[0]
ptxas info    : Compiling entry function '_Z13ethash_searchILj1EEvPV14search_resultsm' for 'sm_70'
ptxas info    : Function properties for _Z13ethash_searchILj1EEvPV14search_resultsm
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 80 registers, 368 bytes cmem[0]
Scanning dependencies of target ethash-cuda
[ 70%] Building CXX object libethash-cuda/CMakeFiles/ethash-cuda.dir/CUDAMiner.cpp.o
[ 72%] Linking CXX static library libethash-cuda.a
[ 72%] Built target ethash-cuda
[ 78%] Generating OpenCL Kernel Byte Array
[ 78%] Generating OpenCL Kernel Byte Array
Scanning dependencies of target ethash-cl
[ 81%] Building CXX object libethash-cl/CMakeFiles/ethash-cl.dir/CLMiner.cpp.o
[ 83%] Linking CXX static library libethash-cl.a
[ 83%] Built target ethash-cl
Scanning dependencies of target ethcore
[ 86%] Building CXX object libethcore/CMakeFiles/ethcore.dir/EthashAux.cpp.o
[ 89%] Building CXX object libethcore/CMakeFiles/ethcore.dir/BlockHeader.cpp.o
[ 91%] Building CXX object libethcore/CMakeFiles/ethcore.dir/Miner.cpp.o
[ 94%] Linking CXX static library libethcore.a
[ 94%] Built target ethcore
Scanning dependencies of target ethminer
[ 97%] Building CXX object ethminer/CMakeFiles/ethminer.dir/main.cpp.o
[100%] Linking CXX executable ethminer
[100%] Built target ethminer
root@ip-172-31-3-105:~/ethminer/build# cd ethminer
./ethminer -U -F http://mypoolethereum.com:80/1111111111111111111111111111111111111

3. Extra section – noting the benchmark.

This installation is done in amazon EC2 p2.xlarge instance type, which has 1 GPU with 12 GiB RAM (2496 parallel processing cores), the processor is 4vcpu of Intel Xeon E5-2686 v4 (Broadwell) processors running at 2.7 GHz, Main Memory 122 GiB. You can see the virtual server is using “NVIDIA Corporation GK210GL [Tesla K80] (rev a1)”. So the benchmark of the virutal server is total of 6.5~6.6 millions hashes per second of Ethash with highest value of 6.65 millions hashes per second.
Here is the output of the lspci:

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Device 1d0f:ec20
00:1e.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)
00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)

And the output of the nvidia-smi:

root@ip-172-31-3-105:~# nvidia-smi 
Fri Feb 23 11:45:19 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.30                 Driver Version: 390.30                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K80           Off  | 00000000:00:1E.0 Off |                    0 |
| N/A   71C    P0   125W / 149W |   2501MiB / 11441MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     11042      C   ./ethminer                                  2490MiB |
+-----------------------------------------------------------------------------+