Gentoo emerge a packet with a custom option passed to the configure

Gentoo is source based linux distro and each time we want to install a package in fact we compile it with the system program emerge. In most cases we have USE flags for everything we need about a package, but we can further pass custom options directly to the configure script of the package through the emerge program. Using this method we can tune more subtle the configuration stage of a package and still using the package manager of the system, which is always the preferred way!
For example we can install manually additional libraries in /usr/local/ or any other directory and we can use them passing the needed configuration to the configure script of the package. Let’s say we want to use a new feature of latest openssl library, but we do not want to install it globally and re-emerge everything linked to it, so we build it manually in a directory like /usr/local/openssl-1.1.1/ and we want to link our PHP against it, but the PHP is better to be installed by the emerge (the package manager), because it has many features like init script, global default path to configurations and so on. So we can execute the following command:

EXTRA_ECONF="--with-openssl-dir=/usr/local/openssl-1.1.1/" emerge -avt php

you can use EXTRA_ECONF=”” to include options, which do not have USE flags. However there is limitation, EXTRA_ECONF works only for autotools based ./configure scripts when the ebuild is using econf, so packets not using autotools ./configure scripts won’t include the extra options.
It is good practice to make persistent this configuration over builds, so we can use

/etc/portage/package.env

to save the configuration for future building of the package:

echo "EXTRA_ECONF=\"--with-openssl-dir=/usr/local/openssl-1.1.1/\"" > /etc/portage/env/php.conf
echo "dev-lang/php php.conf" > /etc/portage/package.env

Reset any linux system from the console as if the reset button was pushed

What if you do not have the physical access to your server and you know there is a great possibility your server won’t shutdown properly, when you issue a reboot command (halt, shutdown and so on).
Ok, here is a situation, you have a dedicated server with no panel for resets, no IPMI access and a kernel bug just left a process with Disk sleep or any uninterruptible state that even a kill -9 won’t help! So just rebooting with the normal process of shutdown (going through the init levels or systemd states) won’t help, the shutdown process will be waiting infinite time for proper process termination, which won’t happen! All you need is just a simple old reset button pushed, but you have only a console, here what you can do and it is essentially the same as if someone pushed the server reset button:

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

This technique is known as magic SysRq key and have more options, but this is probably most used. It will immediately reboot the server, without unmounting or syncing filesystems. So be extremely careful and an additional advice: issue a sync command before the reset, even if you know it it won’t finish.

sync &

BE WARNED, you can break your filesystem (with the modern filesystem and their late state this is unlikely to happen) or database (this is really likely to happen, but you could always repair or at least shutdown the database software and/or make a backup before), but you can save your server!

Create a simple spamassassin rule to catch words

Not so often we need to write our custom rules for fighting against spam, but sometimes we need it, because a spammer just wanted to target specifically our server or clients. If you use spamassassin here what you can do to create a simple rule to find words and rate the message with a desired score, which will (probably) mark it as a spam.
The template is as follows:

  • headers search, the example template is for the Subject header, but you could any other header name.
    header <RULENAME> Subject =~ /word1, word2, word3, ..., wordN/
    score <RULENAME> <score>
    describe <RULENAME> <description>
    
  • body search
    body <RULENAME> /word1, word2, word3, ..., wordN/
    score <RULENAME> <score>
    describe <RULENAME> <description>
    

Set these 3 lines (or the 6 above for the headers and body) in your user_prefs.cf file, which is probably here:

  • /etc/mail/spamassassin/local.cf – CentOS 7
  • /etc/spamassassin/ – Ubuntu 16/17, Gentoo
  • ~/.spamassassin/user_prefs.cf – custom file per user

Here is example of the rules:

header CONTAINS_VIG Subject =~ /apple, orange/
score CONTAINS_VIG 1.5
describe CONTAINS_VIG Bad Word fruits in the Subject
body CONTAINS_PEN /apple, orange/
score CONTAINS_PEN 1.5
describe CONTAINS_PEN Bad Word in the Body

Catch messages in the Subject and body containing apple and orange and add to the scoring system 1.5, for your purses you may need to increase the scoring drastically it depends on your required score for spam (check for it in local.cf).

* Update

As of Rob Morin proposed in the comments it is a good idea to add “/i” to catch lower and capital letters (“ignore case”) like this:

header CONTAINS_VIG Subject =~ /apple, orange/i
score CONTAINS_VIG 1.5
describe CONTAINS_VIG Bad Word fruits in the Subject
body CONTAINS_PEN /apple, orange/i
score CONTAINS_PEN 1.5
describe CONTAINS_PEN Bad Word in the Body

Howto do a netinstall of CentOS 7 (7.4.1708) – 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 client side download of files need to be minimal.
For amd64 CentOS 7 the net install bootable media is located here (now the current latest release is 7.4.1708, but you can check the last directory with 7. for the time you follow this howto):

http://mirror.leaseweb.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

Now this version is deprecated and you could have problems downloading it, so you could try the CentOS vault – http://vault.centos.org/7.4.1708/isos/x86_64/ Just follow the instructions for downloading.
Download it and put it on a cd or usb, the boot from it and follow the steps bellow:

STEP 1) Select “Install CentOS 7” and press “Enter”

main menu
Select CentOS 7 Installation

STEP 2) Wait for the installation to boot

main menu
Booting the installation

STEP 3) This is the first step, you could choose your Country and language, English is the default.

main menu
Country and language selection

STEP 4) Setup the right time and time zone of your server, this step is important, the clock of the server is really important for your software to work properly!

main menu
Date & Time

STEP 5) Often servers are set with UTC time, which is never changed (no summer saving time!). UTC is Coordinated Universal Time and first you must select “Etc” from the first dropdown menu.

main menu
Date & Time – UTC selected

STEP 6) Next let’s configure the network, because we are doing a network installation you need Internet connection to install the CentOS 7.

main menu
Network & Host Name

STEP 7) Click to configure the selected network adapter on the right.

main menu
Configure network Adapter

STEP 8) Click on the menu “IPv4 Settings”, then choose from the dropdown menu “Manual” (technically you can leave it Automattically as the default is, but this is a server howto it is not very clever your IP to be assigned by a DHCP server, but your setup could vary). Then click on “Add” and write your IP address, network mask and gateway, then in the DNS Servers write your local (and fast!) DNS server, if you have more than one separate them with comas.

main menu
IPv Settings

STEP 9) Click “General” menu and then check the “Automatically connect to this network when it is available” – this is very important, because if you do not check, when you reboot the server, it won’t start the network! Click Save.

main menu
General Adapter settings

STEP 10) You can see the network is up and connected. Set a host name to your server and click on “Apply” and that’s all for the network configuration, click on “Done”.

main menu
Host Name setup

STEP 11) Click on “Installation Source” to setup the source of your installation files, because this is network installation this step is mandatory.

main menu
Installation Destination

STEP 12) Set the URL from where the setup will download packages and installation files. Set the nearest source to your server, you can check mirrors here:

https://www.centos.org/download/mirrors/

At present the latest version of CentOS 7 is 7.4.1708, but after a while it could be other, so browse the latest version directory, then you must choose directory “/os/” (there are probably many others, but we need especially “os”) and then “/x86_64/”. And then click on “Done”. That’s all you’ve configured the installation source, so now the setup knows where to look for packages and metadata for the installation process.

main menu
URL of the OS packages.

STEP 13) Choose your software to install. Click on “Software Selection”.

main menu
Software Selection

STEP 14) Because this howto is a minimal installation you should check “Minimal Install” , but you could choose another option below, the one suited best for your future server. And then click on “Done” to save the configuration.

main menu
Minimal Install

STEP 15) Click on “Installation Destination” to set the hard drive and partitions layout configuration for your server.

main menu
Installation Destination

STEP 16) The default is to leave the how disk to the setup to manage (make sure the “Automatically configure partitioning.” is checked), it will use the how hard drive checked from the Local Standard Disks. Check all the local disks you want to use in your server if more than one. If your disk has partitions you may be prompted to acquire free space by deleting existing partitions – be careful with this option, think twice before deleting partitions! Click on “Done” to save configuration.

main menu
Device selection – hard disk and partition configuration

STEP 17) Click on “Security policy” to setup a default security policy as selinux – use it whenever it is available!

main menu
Security Policy

STEP 18) Click on the “Standard System Security Porfile”, which will enable SELINUX security in your installation and then click “Select Profile”, after clicking the button will become grayed and the selection will have a green check in the right. Then click on “Done”.

main menu
Standard System Security Profile – SELINUX

STEP 19) We are all done and it is time to start the real installation of the system. Till now we’ve just configured the installation process. So click on “Begin Installation”.

main menu
Begin Installation

STEP 20) When the installation process is running you are prompt to set the root password and to add users. For clarity we set only the root password.

main menu
Root password setup

STEP 21) Set two times your password for the root user and then click “Done”.

main menu
Enter root password

STEP 22) The installation process is still running, just wait to finish.

main menu
Starting package installation process

STEP 23) You can see how many packets are install and the current installing packet and number.

main menu
Installing packages…

STEP 24) If everything goes with no errors and probably it will be with no errors you must click on “Reboot” to reboot the server in the newly installed OS.

main menu
Installation ready. Reboot

STEP 25) Grub2 and two options to select, the default is the latest kernel installed.

main menu
Grub2, default kernel boot

STEP 26) And the server is at login. The ssh server is also installed and you can access the server via ssh on the default port 22 and root login is permitted.

main menu
Login

How to compile cpuminer-multi under Ubuntu 16.04 LTS for CPU mining cryptocurrencies

Thanks to cpuminer-multi we can have one application capable of mining many different cryptocurrencies based on different algorithms. Here are the steps you should do to install (in fact install dependencies and compile the miner) to begin mining:

STEP 1) Update your system and install the following dependencies

sudo apt-get -y update
sudo apt-get -y install gcc g++ build-essential automake linux-headers-$(uname -r) git gawk libcurl4-openssl-dev libjansson-dev libssl-dev xorg libc++-dev libgmp-dev python-dev screen

STEP 2) Compile the mining program cpuminer-multi

cd
git clone https://github.com/tpruvot/cpuminer-multi
cd cpuminer-multi/
./autogen.sh
./configure --with-crypto --with-curl
make -j 8

Execute the program to see if everything is OK. With the help output you can see how many alogrithms are supported as of version 1.3.3 of cpuminer-multi.

./cpuminer --help
** cpuminer-multi 1.3.3 by tpruvot@github **
BTC donation address: 1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd (tpruvot)

Usage: cpuminer-multi [OPTIONS]
Options:
  -a, --algo=ALGO       specify the algorithm to use
                          axiom        Shabal-256 MemoHash
                          bitcore      Timetravel with 10 algos
                          blake        Blake-256 14-rounds (SFR)
                          blakecoin    Blake-256 single sha256 merkle
                          blake2s      Blake2-S (256)
                          bmw          BMW 256
                          c11/flax     C11
                          cryptolight  Cryptonight-light
                          cryptonight  Monero
                          decred       Blake-256 14-rounds 180 bytes
                          dmd-gr       Diamond-Groestl
                          drop         Dropcoin
                          fresh        Fresh
                          groestl      GroestlCoin
                          heavy        Heavy
                          jha          JHA
                          keccak       Keccak (Old and deprecated)
                          keccakc      Keccak (CreativeCoin)
                          luffa        Luffa
                          lyra2re      Lyra2RE
                          lyra2rev2    Lyra2REv2 (Vertcoin)
                          myr-gr       Myriad-Groestl
                          neoscrypt    NeoScrypt(128, 2, 1)
                          nist5        Nist5
                          pluck        Pluck:128 (Supcoin)
                          pentablake   Pentablake
                          quark        Quark
                          qubit        Qubit
                          scrypt       scrypt(1024, 1, 1) (default)
                          scrypt:N     scrypt(N, 1, 1)
                          scrypt-jane:N (with N factor from 4 to 30)
                          shavite3     Shavite3
                          sha256d      SHA-256d
                          sia          Blake2-B
                          sib          X11 + gost (SibCoin)
                          skein        Skein+Sha (Skeincoin)
                          skein2       Double Skein (Woodcoin)
                          s3           S3
                          timetravel   Timetravel (Machinecoin)
                          vanilla      Blake-256 8-rounds
                          x11evo       Permuted x11
                          x11          X11
                          x13          X13
                          x14          X14
                          x15          X15
                          x16r         X16R (Raven)
                          x17          X17
                          xevan        Xevan (BitSend)
                          yescrypt     Yescrypt
                          zr5          ZR5
  -o, --url=URL         URL of mining server
  -O, --userpass=U:P    username:password pair for mining server
  -u, --user=USERNAME   username for mining server
  -p, --pass=PASSWORD   password for mining server
      --cert=FILE       certificate for mining server using SSL
  -x, --proxy=[PROTOCOL://]HOST[:PORT]  connect through a proxy
  -t, --threads=N       number of miner threads (default: number of processors)
  -r, --retries=N       number of times to retry if a network call fails
                          (default: retry indefinitely)
  -R, --retry-pause=N   time to pause between retries, in seconds (default: 30)
      --time-limit=N    maximum time [s] to mine before exiting the program.
  -T, --timeout=N       timeout for long poll and stratum (default: 300 seconds)
  -s, --scantime=N      upper bound on time spent scanning current work when
                          long polling is unavailable, in seconds (default: 5)
      --randomize       Randomize scan range start to reduce duplicates
  -f, --diff-factor     Divide req. difficulty by this factor (std is 1.0)
  -m, --diff-multiplier Multiply difficulty by this factor (std is 1.0)
  -n, --nfactor         neoscrypt N-Factor
      --coinbase-addr=ADDR  payout address for solo mining
      --coinbase-sig=TEXT  data to insert in the coinbase when possible
      --max-log-rate    limit per-core hashrate logs (default: 5s)
      --no-longpoll     disable long polling support
      --no-getwork      disable getwork support
      --no-gbt          disable getblocktemplate support
      --no-stratum      disable X-Stratum support
      --no-extranonce   disable Stratum extranonce support
      --no-redirect     ignore requests to change the URL of the mining server
  -q, --quiet           disable per-thread hashmeter output
      --no-color        disable colored output
  -D, --debug           enable debug output
  -P, --protocol-dump   verbose dump of protocol-level activities
      --hide-diff       Hide submitted block and net difficulty
  -S, --syslog          use system log for output messages
  -B, --background      run the miner in the background
      --benchmark       run in offline benchmark mode
      --cputest         debug hashes from cpu algorithms
      --cpu-affinity    set process affinity to cpu core(s), mask 0x3 for cores 0 and 1
      --cpu-priority    set process priority (default: 0 idle, 2 normal to 5 highest)
  -b, --api-bind        IP/Port for the miner API (default: 127.0.0.1:4048)
      --api-remote      Allow remote control
      --max-temp=N      Only mine if cpu temp is less than specified value (linux)
      --max-rate=N[KMG] Only mine if net hashrate is less than specified value
      --max-diff=N      Only mine if net difficulty is less than specified value
  -c, --config=FILE     load a JSON-format configuration file
  -V, --version         display version information and exit
  -h, --help            display this help text and exit

Here is an example of mining monero or Electoneum (cryptonight algo):

./cpuminer -a cryptonight -o stratum+tcp://monero.pool:1111 -u <monero address> -p <email>

Here is the output of example installation (the apt-get update and install are trimmed):

ubuntu@srv:~$ sudo su
root@srv:/home/ubuntu# cd
root@srv:~# apt-get -y update
...
root@srv:~# apt-get -y install gcc g++ build-essential automake linux-headers-$(uname -r) git gawk libcurl4-openssl-dev libjansson-dev xorg libc++-dev libgmp-dev python-dev screen
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gawk is already the newest version (1:4.1.3+dfsg-0.1).
screen is already the newest version (4.3.1-2build1).
git is already the newest version (1:2.7.4-0ubuntu1.3).
linux-headers-4.4.0-1041-aws is already the newest version (4.4.0-1041.50).
The following additional packages will be installed:
  autoconf autotools-dev binutils cpp cpp-5 dpkg-dev fakeroot fontconfig-config fonts-dejavu-core g++-5 gcc-5 gcc-5-base libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan2 libatomic1 libboost-filesystem1.58.0 libboost-system1.58.0 libc++-helpers libc++1 libc-dev-bin libc6 libc6-dev libcapnp-0.5.3 libcc1-0
  libcilkrts5 libcurl3 libdpkg-perl libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libegl1-mesa libepoxy0 libevdev2 libexpat1-dev
  libfakeroot libfile-fcntllock-perl libfontconfig1 libfontenc1 libgbm1 libgcc-5-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglu1-mesa libgmpxx4ldbl libgomp1
  libice6 libisl15 libitm1 libjansson4 libllvm5.0 liblsan0 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmpc3 libmpx0 libmtdev1 libpciaccess0 libpixman-1-0
  libprotobuf-lite9v5 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libquadmath0 libsensors4 libsm6
  libstdc++-5-dev libstdc++6 libtsan0 libtxc-dxtn-s2tc0 libubsan0 libwayland-client0 libwayland-server0 libx11-xcb1 libxatracker2 libxaw7 libxcb-dri2-0 libxcb-dri3-0
  libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxfont1 libxft2 libxi6
  libxinerama1 libxkbcommon0 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxss1 libxt6 libxtst6 libxv1 libxvmc1 libxxf86dga1 libxxf86vm1
  linux-libc-dev m4 make manpages-dev python python-minimal python2.7 python2.7-dev python2.7-minimal x11-apps x11-common x11-session-utils x11-utils x11-xkb-utils
  x11-xserver-utils xbitmaps xfonts-base xfonts-encodings xfonts-scalable xfonts-utils xinit xinput xorg-docs-core 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-video-all
  xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau xserver-xorg-video-qxl
  xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware xterm
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc libtool gettext binutils-doc cpp-doc gcc-5-locales debian-keyring g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg
  gcc-multilib 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 clang glibc-doc libcurl4-doc libcurl3-dbg libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssl-dev pkg-config
  zlib1g-dev gmp-doc libgmp10-doc libmpfr-dev lm-sensors libstdc++-5-doc make-doc python-doc python-tk python2.7-doc binfmt-support mesa-utils nickle cairo-5c xorg-docs
  xfonts-100dpi xfonts-75dpi x11-xfs-utils xfonts-100dpi | xfonts-75dpi gpointing-device-settings touchfreeze firmware-amd-graphics xserver-xorg-video-r128
  xserver-xorg-video-mach64 xfonts-cyrillic
The following NEW packages will be installed:
  autoconf automake autotools-dev binutils build-essential cpp cpp-5 dpkg-dev fakeroot fontconfig-config fonts-dejavu-core g++ g++-5 gcc gcc-5 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan2 libatomic1 libboost-filesystem1.58.0 libboost-system1.58.0 libc++-dev libc++-helpers libc++1 libc-dev-bin
  libc6-dev libcapnp-0.5.3 libcc1-0 libcilkrts5 libcurl3 libcurl4-openssl-dev libdpkg-perl libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1
  libegl1-mesa libepoxy0 libevdev2 libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libfontenc1 libgbm1 libgcc-5-dev libgl1-mesa-dri libgl1-mesa-glx
  libglapi-mesa libglu1-mesa libgmp-dev libgmpxx4ldbl libgomp1 libice6 libisl15 libitm1 libjansson-dev libjansson4 libllvm5.0 liblsan0 libmirclient9 libmircommon7
  libmircore1 libmirprotobuf3 libmpc3 libmpx0 libmtdev1 libpciaccess0 libpixman-1-0 libprotobuf-lite9v5 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev
  libpython2.7-minimal libpython2.7-stdlib libquadmath0 libsensors4 libsm6 libstdc++-5-dev libtsan0 libtxc-dxtn-s2tc0 libubsan0 libwayland-client0 libwayland-server0
  libx11-xcb1 libxatracker2 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcomposite1
  libxcursor1 libxdamage1 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxkbcommon0 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxss1 libxt6
  libxtst6 libxv1 libxvmc1 libxxf86dga1 libxxf86vm1 linux-libc-dev m4 make manpages-dev python python-dev python-minimal python2.7 python2.7-dev python2.7-minimal
  x11-apps x11-common x11-session-utils x11-utils x11-xkb-utils x11-xserver-utils xbitmaps xfonts-base xfonts-encodings xfonts-scalable xfonts-utils xinit xinput xorg
  xorg-docs-core 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-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-intel
  xserver-xorg-video-nouveau xserver-xorg-video-qxl xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware xterm
The following packages will be upgraded:
  gcc-5-base libc6 libdrm2 libstdc++6
4 upgraded, 164 newly installed, 0 to remove and 93 not upgraded.
Need to get 114 MB of archives.
After this operation, 457 MB of additional disk space will be used.
...
root@srv:~# git clone https://github.com/tpruvot/cpuminer-multi
Cloning into 'cpuminer-multi'...
remote: Counting objects: 3803, done.
remote: Total 3803 (delta 0), reused 0 (delta 0), pack-reused 3803
Receiving objects: 100% (3803/3803), 18.99 MiB | 30.51 MiB/s, done.
Resolving deltas: 100% (2589/2589), done.
Checking connectivity... done.
root@srv:~# cd /root/cpuminer-multi/
root@srv:~/cpuminer-multi# export CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe"
root@srv:~/cpuminer-multi# export CXXFLAGS="${CFLAGS}"
root@srv:~/cpuminer-multi# export CHOST="x86_64-pc-linux-gnu"
root@srv:~/cpuminer-multi# export MAKEOPTS="-j8"
root@srv:~/cpuminer-multi# ./autogen.sh
configure.ac:15: installing './compile'
configure.ac:4: installing './config.guess'
configure.ac:4: installing './config.sub'
configure.ac:9: installing './install-sh'
configure.ac:9: installing './missing'
Makefile.am: installing './depcomp'
root@srv:~/cpuminer-multi# ./configure --with-crypto --with-curl
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... 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 whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether gcc needs -traditional... no
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
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 sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for sys/sysctl.h... yes
checking whether be32dec is declared... no
checking whether le32dec is declared... no
checking whether be32enc is declared... no
checking whether le32enc is declared... no
checking whether le16dec is declared... no
checking whether le16enc is declared... no
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for getopt_long... yes
checking whether we can compile AVX code... yes
checking whether we can compile XOP code... yes
checking whether we can compile AVX2 code... yes
checking for json_loads in -ljansson... yes
checking for pthread_create in -lpthread... yes
checking whether __uint128_t is supported... yes
checking for gzopen in -lz... yes
checking for EVP_DigestFinal_ex in -lcrypto... yes
checking for SSL_free in -lssl... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating compat/Makefile
config.status: creating compat/jansson/Makefile
config.status: creating cpuminer-config.h
config.status: cpuminer-config.h is unchanged
config.status: executing depfiles commands
root@srv:~/cpuminer-multi# make -j 8
make  all-recursive
make[1]: Entering directory '/root/cpuminer-multi'
Making all in compat
make[2]: Entering directory '/root/cpuminer-multi/compat'
make[3]: Entering directory '/root/cpuminer-multi/compat'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/root/cpuminer-multi/compat'
make[2]: Leaving directory '/root/cpuminer-multi/compat'
make[2]: Entering directory '/root/cpuminer-multi'
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_keccak.o -MD -MP -MF sha3/.deps/cpuminer-sph_keccak.Tpo -c -o sha3/cpuminer-sph_keccak.o `test -f 'sha3/sph_keccak.c' || echo './'`sha3/sph_keccak.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_hefty1.o -MD -MP -MF sha3/.deps/cpuminer-sph_hefty1.Tpo -c -o sha3/cpuminer-sph_hefty1.o `test -f 'sha3/sph_hefty1.c' || echo './'`sha3/sph_hefty1.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_groestl.o -MD -MP -MF sha3/.deps/cpuminer-sph_groestl.Tpo -c -o sha3/cpuminer-sph_groestl.o `test -f 'sha3/sph_groestl.c' || echo './'`sha3/sph_groestl.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_skein.o -MD -MP -MF sha3/.deps/cpuminer-sph_skein.Tpo -c -o sha3/cpuminer-sph_skein.o `test -f 'sha3/sph_skein.c' || echo './'`sha3/sph_skein.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_bmw.o -MD -MP -MF sha3/.deps/cpuminer-sph_bmw.Tpo -c -o sha3/cpuminer-sph_bmw.o `test -f 'sha3/sph_bmw.c' || echo './'`sha3/sph_bmw.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_jh.o -MD -MP -MF sha3/.deps/cpuminer-sph_jh.Tpo -c -o sha3/cpuminer-sph_jh.o `test -f 'sha3/sph_jh.c' || echo './'`sha3/sph_jh.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_shavite.o -MD -MP -MF sha3/.deps/cpuminer-sph_shavite.Tpo -c -o sha3/cpuminer-sph_shavite.o `test -f 'sha3/sph_shavite.c' || echo './'`sha3/sph_shavite.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_blake.o -MD -MP -MF sha3/.deps/cpuminer-sph_blake.Tpo -c -o sha3/cpuminer-sph_blake.o `test -f 'sha3/sph_blake.c' || echo './'`sha3/sph_blake.c
mv -f sha3/.deps/cpuminer-sph_hefty1.Tpo sha3/.deps/cpuminer-sph_hefty1.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-mod_blakecoin.o -MD -MP -MF sha3/.deps/cpuminer-mod_blakecoin.Tpo -c -o sha3/cpuminer-mod_blakecoin.o `test -f 'sha3/mod_blakecoin.c' || echo './'`sha3/mod_blakecoin.c
mv -f sha3/.deps/cpuminer-mod_blakecoin.Tpo sha3/.deps/cpuminer-mod_blakecoin.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_luffa.o -MD -MP -MF sha3/.deps/cpuminer-sph_luffa.Tpo -c -o sha3/cpuminer-sph_luffa.o `test -f 'sha3/sph_luffa.c' || echo './'`sha3/sph_luffa.c
mv -f sha3/.deps/cpuminer-sph_skein.Tpo sha3/.deps/cpuminer-sph_skein.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_cubehash.o -MD -MP -MF sha3/.deps/cpuminer-sph_cubehash.Tpo -c -o sha3/cpuminer-sph_cubehash.o `test -f 'sha3/sph_cubehash.c' || echo './'`sha3/sph_cubehash.c
mv -f sha3/.deps/cpuminer-sph_keccak.Tpo sha3/.deps/cpuminer-sph_keccak.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_simd.o -MD -MP -MF sha3/.deps/cpuminer-sph_simd.Tpo -c -o sha3/cpuminer-sph_simd.o `test -f 'sha3/sph_simd.c' || echo './'`sha3/sph_simd.c
mv -f sha3/.deps/cpuminer-sph_bmw.Tpo sha3/.deps/cpuminer-sph_bmw.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_echo.o -MD -MP -MF sha3/.deps/cpuminer-sph_echo.Tpo -c -o sha3/cpuminer-sph_echo.o `test -f 'sha3/sph_echo.c' || echo './'`sha3/sph_echo.c
mv -f sha3/.deps/cpuminer-sph_blake.Tpo sha3/.deps/cpuminer-sph_blake.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_hamsi.o -MD -MP -MF sha3/.deps/cpuminer-sph_hamsi.Tpo -c -o sha3/cpuminer-sph_hamsi.o `test -f 'sha3/sph_hamsi.c' || echo './'`sha3/sph_hamsi.c
mv -f sha3/.deps/cpuminer-sph_jh.Tpo sha3/.deps/cpuminer-sph_jh.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_haval.o -MD -MP -MF sha3/.deps/cpuminer-sph_haval.Tpo -c -o sha3/cpuminer-sph_haval.o `test -f 'sha3/sph_haval.c' || echo './'`sha3/sph_haval.c
mv -f sha3/.deps/cpuminer-sph_groestl.Tpo sha3/.deps/cpuminer-sph_groestl.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_fugue.o -MD -MP -MF sha3/.deps/cpuminer-sph_fugue.Tpo -c -o sha3/cpuminer-sph_fugue.o `test -f 'sha3/sph_fugue.c' || echo './'`sha3/sph_fugue.c
mv -f sha3/.deps/cpuminer-sph_cubehash.Tpo sha3/.deps/cpuminer-sph_cubehash.Po
mv -f sha3/.deps/cpuminer-sph_luffa.Tpo sha3/.deps/cpuminer-sph_luffa.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_ripemd.o -MD -MP -MF sha3/.deps/cpuminer-sph_ripemd.Tpo -c -o sha3/cpuminer-sph_ripemd.o `test -f 'sha3/sph_ripemd.c' || echo './'`sha3/sph_ripemd.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_sha2.o -MD -MP -MF sha3/.deps/cpuminer-sph_sha2.Tpo -c -o sha3/cpuminer-sph_sha2.o `test -f 'sha3/sph_sha2.c' || echo './'`sha3/sph_sha2.c
mv -f sha3/.deps/cpuminer-sph_shavite.Tpo sha3/.deps/cpuminer-sph_shavite.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_sha2big.o -MD -MP -MF sha3/.deps/cpuminer-sph_sha2big.Tpo -c -o sha3/cpuminer-sph_sha2big.o `test -f 'sha3/sph_sha2big.c' || echo './'`sha3/sph_sha2big.c
mv -f sha3/.deps/cpuminer-sph_sha2big.Tpo sha3/.deps/cpuminer-sph_sha2big.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_shabal.o -MD -MP -MF sha3/.deps/cpuminer-sph_shabal.Tpo -c -o sha3/cpuminer-sph_shabal.o `test -f 'sha3/sph_shabal.c' || echo './'`sha3/sph_shabal.c
mv -f sha3/.deps/cpuminer-sph_echo.Tpo sha3/.deps/cpuminer-sph_echo.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-sph_whirlpool.o -MD -MP -MF sha3/.deps/cpuminer-sph_whirlpool.Tpo -c -o sha3/cpuminer-sph_whirlpool.o `test -f 'sha3/sph_whirlpool.c' || echo './'`sha3/sph_whirlpool.c
mv -f sha3/.deps/cpuminer-sph_sha2.Tpo sha3/.deps/cpuminer-sph_sha2.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT sha3/cpuminer-gost_streebog.o -MD -MP -MF sha3/.deps/cpuminer-gost_streebog.Tpo -c -o sha3/cpuminer-gost_streebog.o `test -f 'sha3/gost_streebog.c' || echo './'`sha3/gost_streebog.c
mv -f sha3/.deps/cpuminer-sph_shabal.Tpo sha3/.deps/cpuminer-sph_shabal.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-blake2s.o -MD -MP -MF crypto/.deps/cpuminer-blake2s.Tpo -c -o crypto/cpuminer-blake2s.o `test -f 'crypto/blake2s.c' || echo './'`crypto/blake2s.c
mv -f sha3/.deps/cpuminer-gost_streebog.Tpo sha3/.deps/cpuminer-gost_streebog.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-blake2b.o -MD -MP -MF crypto/.deps/cpuminer-blake2b.Tpo -c -o crypto/cpuminer-blake2b.o `test -f 'crypto/blake2b.c' || echo './'`crypto/blake2b.c
mv -f crypto/.deps/cpuminer-blake2b.Tpo crypto/.deps/cpuminer-blake2b.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-oaes_lib.o -MD -MP -MF crypto/.deps/cpuminer-oaes_lib.Tpo -c -o crypto/cpuminer-oaes_lib.o `test -f 'crypto/oaes_lib.c' || echo './'`crypto/oaes_lib.c
mv -f sha3/.deps/cpuminer-sph_ripemd.Tpo sha3/.deps/cpuminer-sph_ripemd.Po
mv -f sha3/.deps/cpuminer-sph_whirlpool.Tpo sha3/.deps/cpuminer-sph_whirlpool.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-c_keccak.o -MD -MP -MF crypto/.deps/cpuminer-c_keccak.Tpo -c -o crypto/cpuminer-c_keccak.o `test -f 'crypto/c_keccak.c' || echo './'`crypto/c_keccak.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-c_groestl.o -MD -MP -MF crypto/.deps/cpuminer-c_groestl.Tpo -c -o crypto/cpuminer-c_groestl.o `test -f 'crypto/c_groestl.c' || echo './'`crypto/c_groestl.c
mv -f crypto/.deps/cpuminer-c_keccak.Tpo crypto/.deps/cpuminer-c_keccak.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-c_blake256.o -MD -MP -MF crypto/.deps/cpuminer-c_blake256.Tpo -c -o crypto/cpuminer-c_blake256.o `test -f 'crypto/c_blake256.c' || echo './'`crypto/c_blake256.c
mv -f crypto/.deps/cpuminer-blake2s.Tpo crypto/.deps/cpuminer-blake2s.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-c_jh.o -MD -MP -MF crypto/.deps/cpuminer-c_jh.Tpo -c -o crypto/cpuminer-c_jh.o `test -f 'crypto/c_jh.c' || echo './'`crypto/c_jh.c
mv -f sha3/.deps/cpuminer-sph_fugue.Tpo sha3/.deps/cpuminer-sph_fugue.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-c_skein.o -MD -MP -MF crypto/.deps/cpuminer-c_skein.Tpo -c -o crypto/cpuminer-c_skein.o `test -f 'crypto/c_skein.c' || echo './'`crypto/c_skein.c
mv -f sha3/.deps/cpuminer-sph_simd.Tpo sha3/.deps/cpuminer-sph_simd.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-hash.o -MD -MP -MF crypto/.deps/cpuminer-hash.Tpo -c -o crypto/cpuminer-hash.o `test -f 'crypto/hash.c' || echo './'`crypto/hash.c
mv -f crypto/.deps/cpuminer-oaes_lib.Tpo crypto/.deps/cpuminer-oaes_lib.Po
mv -f crypto/.deps/cpuminer-c_groestl.Tpo crypto/.deps/cpuminer-c_groestl.Po
mv -f crypto/.deps/cpuminer-hash.Tpo crypto/.deps/cpuminer-hash.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT crypto/cpuminer-aesb.o -MD -MP -MF crypto/.deps/cpuminer-aesb.Tpo -c -o crypto/cpuminer-aesb.o `test -f 'crypto/aesb.c' || echo './'`crypto/aesb.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT lyra2/cpuminer-Lyra2.o -MD -MP -MF lyra2/.deps/cpuminer-Lyra2.Tpo -c -o lyra2/cpuminer-Lyra2.o `test -f 'lyra2/Lyra2.c' || echo './'`lyra2/Lyra2.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT lyra2/cpuminer-Sponge.o -MD -MP -MF lyra2/.deps/cpuminer-Sponge.Tpo -c -o lyra2/cpuminer-Sponge.o `test -f 'lyra2/Sponge.c' || echo './'`lyra2/Sponge.c
mv -f crypto/.deps/cpuminer-c_blake256.Tpo crypto/.deps/cpuminer-c_blake256.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT yescrypt/cpuminer-yescrypt-common.o -MD -MP -MF yescrypt/.deps/cpuminer-yescrypt-common.Tpo -c -o yescrypt/cpuminer-yescrypt-common.o `test -f 'yescrypt/yescrypt-common.c' || echo './'`yescrypt/yescrypt-common.c
mv -f crypto/.deps/cpuminer-c_jh.Tpo crypto/.deps/cpuminer-c_jh.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT yescrypt/cpuminer-yescrypt-best.o -MD -MP -MF yescrypt/.deps/cpuminer-yescrypt-best.Tpo -c -o yescrypt/cpuminer-yescrypt-best.o `test -f 'yescrypt/yescrypt-best.c' || echo './'`yescrypt/yescrypt-best.c
mv -f lyra2/.deps/cpuminer-Lyra2.Tpo lyra2/.deps/cpuminer-Lyra2.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT yescrypt/cpuminer-sha256_Y.o -MD -MP -MF yescrypt/.deps/cpuminer-sha256_Y.Tpo -c -o yescrypt/cpuminer-sha256_Y.o `test -f 'yescrypt/sha256_Y.c' || echo './'`yescrypt/sha256_Y.c
mv -f yescrypt/.deps/cpuminer-yescrypt-common.Tpo yescrypt/.deps/cpuminer-yescrypt-common.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-axiom.o -MD -MP -MF algo/.deps/cpuminer-axiom.Tpo -c -o algo/cpuminer-axiom.o `test -f 'algo/axiom.c' || echo './'`algo/axiom.c
mv -f crypto/.deps/cpuminer-aesb.Tpo crypto/.deps/cpuminer-aesb.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-bastion.o -MD -MP -MF algo/.deps/cpuminer-bastion.Tpo -c -o algo/cpuminer-bastion.o `test -f 'algo/bastion.c' || echo './'`algo/bastion.c
mv -f algo/.deps/cpuminer-axiom.Tpo algo/.deps/cpuminer-axiom.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-blake.o -MD -MP -MF algo/.deps/cpuminer-blake.Tpo -c -o algo/cpuminer-blake.o `test -f 'algo/blake.c' || echo './'`algo/blake.c
mv -f sha3/.deps/cpuminer-sph_hamsi.Tpo sha3/.deps/cpuminer-sph_hamsi.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-blakecoin.o -MD -MP -MF algo/.deps/cpuminer-blakecoin.Tpo -c -o algo/cpuminer-blakecoin.o `test -f 'algo/blakecoin.c' || echo './'`algo/blakecoin.c
mv -f algo/.deps/cpuminer-bastion.Tpo algo/.deps/cpuminer-bastion.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-blake2.o -MD -MP -MF algo/.deps/cpuminer-blake2.Tpo -c -o algo/cpuminer-blake2.o `test -f 'algo/blake2.c' || echo './'`algo/blake2.c
mv -f algo/.deps/cpuminer-blake.Tpo algo/.deps/cpuminer-blake.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-bmw256.o -MD -MP -MF algo/.deps/cpuminer-bmw256.Tpo -c -o algo/cpuminer-bmw256.o `test -f 'algo/bmw256.c' || echo './'`algo/bmw256.c
mv -f algo/.deps/cpuminer-blakecoin.Tpo algo/.deps/cpuminer-blakecoin.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-c11.o -MD -MP -MF algo/.deps/cpuminer-c11.Tpo -c -o algo/cpuminer-c11.o `test -f 'algo/c11.c' || echo './'`algo/c11.c
mv -f algo/.deps/cpuminer-blake2.Tpo algo/.deps/cpuminer-blake2.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-cryptonight.o -MD -MP -MF algo/.deps/cpuminer-cryptonight.Tpo -c -o algo/cpuminer-cryptonight.o `test -f 'algo/cryptonight.c' || echo './'`algo/cryptonight.c
mv -f algo/.deps/cpuminer-bmw256.Tpo algo/.deps/cpuminer-bmw256.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-cryptolight.o -MD -MP -MF algo/.deps/cpuminer-cryptolight.Tpo -c -o algo/cpuminer-cryptolight.o `test -f 'algo/cryptolight.c' || echo './'`algo/cryptolight.c
mv -f algo/.deps/cpuminer-c11.Tpo algo/.deps/cpuminer-c11.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-decred.o -MD -MP -MF algo/.deps/cpuminer-decred.Tpo -c -o algo/cpuminer-decred.o `test -f 'algo/decred.c' || echo './'`algo/decred.c
mv -f yescrypt/.deps/cpuminer-sha256_Y.Tpo yescrypt/.deps/cpuminer-sha256_Y.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-drop.o -MD -MP -MF algo/.deps/cpuminer-drop.Tpo -c -o algo/cpuminer-drop.o `test -f 'algo/drop.c' || echo './'`algo/drop.c
mv -f algo/.deps/cpuminer-decred.Tpo algo/.deps/cpuminer-decred.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-fresh.o -MD -MP -MF algo/.deps/cpuminer-fresh.Tpo -c -o algo/cpuminer-fresh.o `test -f 'algo/fresh.c' || echo './'`algo/fresh.c
mv -f crypto/.deps/cpuminer-c_skein.Tpo crypto/.deps/cpuminer-c_skein.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-groestl.o -MD -MP -MF algo/.deps/cpuminer-groestl.Tpo -c -o algo/cpuminer-groestl.o `test -f 'algo/groestl.c' || echo './'`algo/groestl.c
mv -f algo/.deps/cpuminer-cryptonight.Tpo algo/.deps/cpuminer-cryptonight.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-heavy.o -MD -MP -MF algo/.deps/cpuminer-heavy.Tpo -c -o algo/cpuminer-heavy.o `test -f 'algo/heavy.c' || echo './'`algo/heavy.c
mv -f algo/.deps/cpuminer-drop.Tpo algo/.deps/cpuminer-drop.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-ink.o -MD -MP -MF algo/.deps/cpuminer-ink.Tpo -c -o algo/cpuminer-ink.o `test -f 'algo/ink.c' || echo './'`algo/ink.c
mv -f algo/.deps/cpuminer-fresh.Tpo algo/.deps/cpuminer-fresh.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-jha.o -MD -MP -MF algo/.deps/cpuminer-jha.Tpo -c -o algo/cpuminer-jha.o `test -f 'algo/jha.c' || echo './'`algo/jha.c
mv -f algo/.deps/cpuminer-cryptolight.Tpo algo/.deps/cpuminer-cryptolight.Po
mv -f algo/.deps/cpuminer-groestl.Tpo algo/.deps/cpuminer-groestl.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-lbry.o -MD -MP -MF algo/.deps/cpuminer-lbry.Tpo -c -o algo/cpuminer-lbry.o `test -f 'algo/lbry.c' || echo './'`algo/lbry.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-luffa.o -MD -MP -MF algo/.deps/cpuminer-luffa.Tpo -c -o algo/cpuminer-luffa.o `test -f 'algo/luffa.c' || echo './'`algo/luffa.c
mv -f algo/.deps/cpuminer-heavy.Tpo algo/.deps/cpuminer-heavy.Po
mv -f algo/.deps/cpuminer-ink.Tpo algo/.deps/cpuminer-ink.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-lyra2re.o -MD -MP -MF algo/.deps/cpuminer-lyra2re.Tpo -c -o algo/cpuminer-lyra2re.o `test -f 'algo/lyra2re.c' || echo './'`algo/lyra2re.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-lyra2rev2.o -MD -MP -MF algo/.deps/cpuminer-lyra2rev2.Tpo -c -o algo/cpuminer-lyra2rev2.o `test -f 'algo/lyra2rev2.c' || echo './'`algo/lyra2rev2.c
mv -f algo/.deps/cpuminer-jha.Tpo algo/.deps/cpuminer-jha.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-myr-groestl.o -MD -MP -MF algo/.deps/cpuminer-myr-groestl.Tpo -c -o algo/cpuminer-myr-groestl.o `test -f 'algo/myr-groestl.c' || echo './'`algo/myr-groestl.c
mv -f algo/.deps/cpuminer-lbry.Tpo algo/.deps/cpuminer-lbry.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-keccak.o -MD -MP -MF algo/.deps/cpuminer-keccak.Tpo -c -o algo/cpuminer-keccak.o `test -f 'algo/keccak.c' || echo './'`algo/keccak.c
mv -f algo/.deps/cpuminer-luffa.Tpo algo/.deps/cpuminer-luffa.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-pentablake.o -MD -MP -MF algo/.deps/cpuminer-pentablake.Tpo -c -o algo/cpuminer-pentablake.o `test -f 'algo/pentablake.c' || echo './'`algo/pentablake.c
mv -f algo/.deps/cpuminer-lyra2re.Tpo algo/.deps/cpuminer-lyra2re.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-quark.o -MD -MP -MF algo/.deps/cpuminer-quark.Tpo -c -o algo/cpuminer-quark.o `test -f 'algo/quark.c' || echo './'`algo/quark.c
mv -f algo/.deps/cpuminer-lyra2rev2.Tpo algo/.deps/cpuminer-lyra2rev2.Po
mv -f lyra2/.deps/cpuminer-Sponge.Tpo lyra2/.deps/cpuminer-Sponge.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-neoscrypt.o -MD -MP -MF algo/.deps/cpuminer-neoscrypt.Tpo -c -o algo/cpuminer-neoscrypt.o `test -f 'algo/neoscrypt.c' || echo './'`algo/neoscrypt.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-nist5.o -MD -MP -MF algo/.deps/cpuminer-nist5.Tpo -c -o algo/cpuminer-nist5.o `test -f 'algo/nist5.c' || echo './'`algo/nist5.c
mv -f algo/.deps/cpuminer-myr-groestl.Tpo algo/.deps/cpuminer-myr-groestl.Po
mv -f algo/.deps/cpuminer-keccak.Tpo algo/.deps/cpuminer-keccak.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-pluck.o -MD -MP -MF algo/.deps/cpuminer-pluck.Tpo -c -o algo/cpuminer-pluck.o `test -f 'algo/pluck.c' || echo './'`algo/pluck.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-qubit.o -MD -MP -MF algo/.deps/cpuminer-qubit.Tpo -c -o algo/cpuminer-qubit.o `test -f 'algo/qubit.c' || echo './'`algo/qubit.c
mv -f algo/.deps/cpuminer-pentablake.Tpo algo/.deps/cpuminer-pentablake.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-scrypt.o -MD -MP -MF algo/.deps/cpuminer-scrypt.Tpo -c -o algo/cpuminer-scrypt.o `test -f 'algo/scrypt.c' || echo './'`algo/scrypt.c
mv -f algo/.deps/cpuminer-nist5.Tpo algo/.deps/cpuminer-nist5.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-scrypt-jane.o -MD -MP -MF algo/.deps/cpuminer-scrypt-jane.Tpo -c -o algo/cpuminer-scrypt-jane.o `test -f 'algo/scrypt-jane.c' || echo './'`algo/scrypt-jane.c
mv -f algo/.deps/cpuminer-quark.Tpo algo/.deps/cpuminer-quark.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-sha2.o -MD -MP -MF algo/.deps/cpuminer-sha2.Tpo -c -o algo/cpuminer-sha2.o `test -f 'algo/sha2.c' || echo './'`algo/sha2.c
mv -f algo/.deps/cpuminer-qubit.Tpo algo/.deps/cpuminer-qubit.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-sia.o -MD -MP -MF algo/.deps/cpuminer-sia.Tpo -c -o algo/cpuminer-sia.o `test -f 'algo/sia.c' || echo './'`algo/sia.c
mv -f algo/.deps/cpuminer-sia.Tpo algo/.deps/cpuminer-sia.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-sibcoin.o -MD -MP -MF algo/.deps/cpuminer-sibcoin.Tpo -c -o algo/cpuminer-sibcoin.o `test -f 'algo/sibcoin.c' || echo './'`algo/sibcoin.c
mv -f algo/.deps/cpuminer-sibcoin.Tpo algo/.deps/cpuminer-sibcoin.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-skein.o -MD -MP -MF algo/.deps/cpuminer-skein.Tpo -c -o algo/cpuminer-skein.o `test -f 'algo/skein.c' || echo './'`algo/skein.c
mv -f algo/.deps/cpuminer-skein.Tpo algo/.deps/cpuminer-skein.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-skein2.o -MD -MP -MF algo/.deps/cpuminer-skein2.Tpo -c -o algo/cpuminer-skein2.o `test -f 'algo/skein2.c' || echo './'`algo/skein2.c
mv -f algo/.deps/cpuminer-skein2.Tpo algo/.deps/cpuminer-skein2.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-s3.o -MD -MP -MF algo/.deps/cpuminer-s3.Tpo -c -o algo/cpuminer-s3.o `test -f 'algo/s3.c' || echo './'`algo/s3.c
mv -f algo/.deps/cpuminer-neoscrypt.Tpo algo/.deps/cpuminer-neoscrypt.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-bitcore.o -MD -MP -MF algo/.deps/cpuminer-bitcore.Tpo -c -o algo/cpuminer-bitcore.o `test -f 'algo/bitcore.c' || echo './'`algo/bitcore.c
mv -f algo/.deps/cpuminer-scrypt-jane.Tpo algo/.deps/cpuminer-scrypt-jane.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-timetravel.o -MD -MP -MF algo/.deps/cpuminer-timetravel.Tpo -c -o algo/cpuminer-timetravel.o `test -f 'algo/timetravel.c' || echo './'`algo/timetravel.c
mv -f algo/.deps/cpuminer-s3.Tpo algo/.deps/cpuminer-s3.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-tribus.o -MD -MP -MF algo/.deps/cpuminer-tribus.Tpo -c -o algo/cpuminer-tribus.o `test -f 'algo/tribus.c' || echo './'`algo/tribus.c
mv -f yescrypt/.deps/cpuminer-yescrypt-best.Tpo yescrypt/.deps/cpuminer-yescrypt-best.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-veltor.o -MD -MP -MF algo/.deps/cpuminer-veltor.Tpo -c -o algo/cpuminer-veltor.o `test -f 'algo/veltor.c' || echo './'`algo/veltor.c
mv -f algo/.deps/cpuminer-bitcore.Tpo algo/.deps/cpuminer-bitcore.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-x11evo.o -MD -MP -MF algo/.deps/cpuminer-x11evo.Tpo -c -o algo/cpuminer-x11evo.o `test -f 'algo/x11evo.c' || echo './'`algo/x11evo.c
mv -f algo/.deps/cpuminer-tribus.Tpo algo/.deps/cpuminer-tribus.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-x11.o -MD -MP -MF algo/.deps/cpuminer-x11.Tpo -c -o algo/cpuminer-x11.o `test -f 'algo/x11.c' || echo './'`algo/x11.c
mv -f algo/.deps/cpuminer-timetravel.Tpo algo/.deps/cpuminer-timetravel.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-x13.o -MD -MP -MF algo/.deps/cpuminer-x13.Tpo -c -o algo/cpuminer-x13.o `test -f 'algo/x13.c' || echo './'`algo/x13.c
mv -f algo/.deps/cpuminer-veltor.Tpo algo/.deps/cpuminer-veltor.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-x14.o -MD -MP -MF algo/.deps/cpuminer-x14.Tpo -c -o algo/cpuminer-x14.o `test -f 'algo/x14.c' || echo './'`algo/x14.c
mv -f algo/.deps/cpuminer-pluck.Tpo algo/.deps/cpuminer-pluck.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-x15.o -MD -MP -MF algo/.deps/cpuminer-x15.Tpo -c -o algo/cpuminer-x15.o `test -f 'algo/x15.c' || echo './'`algo/x15.c
mv -f algo/.deps/cpuminer-x11.Tpo algo/.deps/cpuminer-x11.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-x16r.o -MD -MP -MF algo/.deps/cpuminer-x16r.Tpo -c -o algo/cpuminer-x16r.o `test -f 'algo/x16r.c' || echo './'`algo/x16r.c
mv -f algo/.deps/cpuminer-scrypt.Tpo algo/.deps/cpuminer-scrypt.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-x17.o -MD -MP -MF algo/.deps/cpuminer-x17.Tpo -c -o algo/cpuminer-x17.o `test -f 'algo/x17.c' || echo './'`algo/x17.c
mv -f algo/.deps/cpuminer-x13.Tpo algo/.deps/cpuminer-x13.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-xevan.o -MD -MP -MF algo/.deps/cpuminer-xevan.Tpo -c -o algo/cpuminer-xevan.o `test -f 'algo/xevan.c' || echo './'`algo/xevan.c
mv -f algo/.deps/cpuminer-x14.Tpo algo/.deps/cpuminer-x14.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-yescrypt.o -MD -MP -MF algo/.deps/cpuminer-yescrypt.Tpo -c -o algo/cpuminer-yescrypt.o `test -f 'algo/yescrypt.c' || echo './'`algo/yescrypt.c
mv -f algo/.deps/cpuminer-x11evo.Tpo algo/.deps/cpuminer-x11evo.Po
mv -f algo/.deps/cpuminer-x15.Tpo algo/.deps/cpuminer-x15.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT algo/cpuminer-zr5.o -MD -MP -MF algo/.deps/cpuminer-zr5.Tpo -c -o algo/cpuminer-zr5.o `test -f 'algo/zr5.c' || echo './'`algo/zr5.c
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include  -march=native -O2 -msse3 -fomit-frame-pointer -pipe -MT asm/cpuminer-neoscrypt_asm.o -MD -MP -MF asm/.deps/cpuminer-neoscrypt_asm.Tpo -c -o asm/cpuminer-neoscrypt_asm.o `test -f 'asm/neoscrypt_asm.S' || echo './'`asm/neoscrypt_asm.S
mv -f asm/.deps/cpuminer-neoscrypt_asm.Tpo asm/.deps/cpuminer-neoscrypt_asm.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include  -march=native -O2 -msse3 -fomit-frame-pointer -pipe -MT asm/cpuminer-sha2-x64.o -MD -MP -MF asm/.deps/cpuminer-sha2-x64.Tpo -c -o asm/cpuminer-sha2-x64.o `test -f 'asm/sha2-x64.S' || echo './'`asm/sha2-x64.S
mv -f algo/.deps/cpuminer-yescrypt.Tpo algo/.deps/cpuminer-yescrypt.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include  -march=native -O2 -msse3 -fomit-frame-pointer -pipe -MT asm/cpuminer-scrypt-x64.o -MD -MP -MF asm/.deps/cpuminer-scrypt-x64.Tpo -c -o asm/cpuminer-scrypt-x64.o `test -f 'asm/scrypt-x64.S' || echo './'`asm/scrypt-x64.S
mv -f algo/.deps/cpuminer-x16r.Tpo algo/.deps/cpuminer-x16r.Po
mv -f algo/.deps/cpuminer-x17.Tpo algo/.deps/cpuminer-x17.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include  -march=native -O2 -msse3 -fomit-frame-pointer -pipe -MT asm/cpuminer-aesb-x64.o -MD -MP -MF asm/.deps/cpuminer-aesb-x64.Tpo -c -o asm/cpuminer-aesb-x64.o `test -f 'asm/aesb-x64.S' || echo './'`asm/aesb-x64.S
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT cpuminer-cpu-miner.o -MD -MP -MF .deps/cpuminer-cpu-miner.Tpo -c -o cpuminer-cpu-miner.o `test -f 'cpu-miner.c' || echo './'`cpu-miner.c
mv -f asm/.deps/cpuminer-aesb-x64.Tpo asm/.deps/cpuminer-aesb-x64.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT cpuminer-util.o -MD -MP -MF .deps/cpuminer-util.Tpo -c -o cpuminer-util.o `test -f 'util.c' || echo './'`util.c
mv -f algo/.deps/cpuminer-xevan.Tpo algo/.deps/cpuminer-xevan.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT cpuminer-api.o -MD -MP -MF .deps/cpuminer-api.Tpo -c -o cpuminer-api.o `test -f 'api.c' || echo './'`api.c
mv -f algo/.deps/cpuminer-zr5.Tpo algo/.deps/cpuminer-zr5.Po
gcc -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -march=native -O2 -msse3 -fomit-frame-pointer -pipe  -Iyes/include -Iyes/include -MT cpuminer-sysinfos.o -MD -MP -MF .deps/cpuminer-sysinfos.Tpo -c -o cpuminer-sysinfos.o `test -f 'sysinfos.c' || echo './'`sysinfos.c
mv -f asm/.deps/cpuminer-sha2-x64.Tpo asm/.deps/cpuminer-sha2-x64.Po
g++ -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Iyes/include  -march=native -O2 -msse3 -fomit-frame-pointer -pipe -MT cpuminer-uint256.o -MD -MP -MF .deps/cpuminer-uint256.Tpo -c -o cpuminer-uint256.o `test -f 'uint256.cpp' || echo './'`uint256.cpp
mv -f asm/.deps/cpuminer-scrypt-x64.Tpo asm/.deps/cpuminer-scrypt-x64.Po
mv -f .deps/cpuminer-sysinfos.Tpo .deps/cpuminer-sysinfos.Po
mv -f .deps/cpuminer-uint256.Tpo .deps/cpuminer-uint256.Po
mv -f .deps/cpuminer-api.Tpo .deps/cpuminer-api.Po
mv -f algo/.deps/cpuminer-sha2.Tpo algo/.deps/cpuminer-sha2.Po
mv -f .deps/cpuminer-util.Tpo .deps/cpuminer-util.Po
mv -f .deps/cpuminer-cpu-miner.Tpo .deps/cpuminer-cpu-miner.Po
mv -f sha3/.deps/cpuminer-sph_haval.Tpo sha3/.deps/cpuminer-sph_haval.Po
g++  -march=native -O2 -msse3 -fomit-frame-pointer -pipe -Lyes/lib -Lyes/lib  -Lyes/lib -Lyes/lib  -o cpuminer cpuminer-cpu-miner.o cpuminer-util.o cpuminer-api.o cpuminer-sysinfos.o cpuminer-uint256.o sha3/cpuminer-sph_keccak.o sha3/cpuminer-sph_hefty1.o sha3/cpuminer-sph_groestl.o sha3/cpuminer-sph_skein.o sha3/cpuminer-sph_bmw.o sha3/cpuminer-sph_jh.o sha3/cpuminer-sph_shavite.o sha3/cpuminer-sph_blake.o sha3/cpuminer-mod_blakecoin.o sha3/cpuminer-sph_luffa.o sha3/cpuminer-sph_cubehash.o sha3/cpuminer-sph_simd.o sha3/cpuminer-sph_echo.o sha3/cpuminer-sph_hamsi.o sha3/cpuminer-sph_haval.o sha3/cpuminer-sph_fugue.o sha3/cpuminer-sph_ripemd.o sha3/cpuminer-sph_sha2.o sha3/cpuminer-sph_sha2big.o sha3/cpuminer-sph_shabal.o sha3/cpuminer-sph_whirlpool.o sha3/cpuminer-gost_streebog.o crypto/cpuminer-blake2s.o crypto/cpuminer-blake2b.o crypto/cpuminer-oaes_lib.o crypto/cpuminer-c_keccak.o crypto/cpuminer-c_groestl.o crypto/cpuminer-c_blake256.o crypto/cpuminer-c_jh.o crypto/cpuminer-c_skein.o crypto/cpuminer-hash.o crypto/cpuminer-aesb.o lyra2/cpuminer-Lyra2.o lyra2/cpuminer-Sponge.o yescrypt/cpuminer-yescrypt-common.o yescrypt/cpuminer-yescrypt-best.o yescrypt/cpuminer-sha256_Y.o algo/cpuminer-axiom.o algo/cpuminer-bastion.o algo/cpuminer-blake.o algo/cpuminer-blakecoin.o algo/cpuminer-blake2.o algo/cpuminer-bmw256.o algo/cpuminer-c11.o algo/cpuminer-cryptonight.o algo/cpuminer-cryptolight.o algo/cpuminer-decred.o algo/cpuminer-drop.o algo/cpuminer-fresh.o algo/cpuminer-groestl.o algo/cpuminer-heavy.o algo/cpuminer-ink.o algo/cpuminer-jha.o algo/cpuminer-lbry.o algo/cpuminer-luffa.o algo/cpuminer-lyra2re.o algo/cpuminer-lyra2rev2.o algo/cpuminer-myr-groestl.o algo/cpuminer-keccak.o algo/cpuminer-pentablake.o algo/cpuminer-quark.o algo/cpuminer-neoscrypt.o algo/cpuminer-nist5.o algo/cpuminer-pluck.o algo/cpuminer-qubit.o algo/cpuminer-scrypt.o algo/cpuminer-scrypt-jane.o algo/cpuminer-sha2.o algo/cpuminer-sia.o algo/cpuminer-sibcoin.o algo/cpuminer-skein.o algo/cpuminer-skein2.o algo/cpuminer-s3.o algo/cpuminer-bitcore.o algo/cpuminer-timetravel.o algo/cpuminer-tribus.o algo/cpuminer-veltor.o algo/cpuminer-x11evo.o algo/cpuminer-x11.o algo/cpuminer-x13.o algo/cpuminer-x14.o algo/cpuminer-x15.o algo/cpuminer-x16r.o algo/cpuminer-x17.o algo/cpuminer-xevan.o algo/cpuminer-yescrypt.o algo/cpuminer-zr5.o asm/cpuminer-neoscrypt_asm.o  asm/cpuminer-sha2-x64.o asm/cpuminer-scrypt-x64.o asm/cpuminer-aesb-x64.o   -lcurl -lz -lssl -lcrypto -ljansson -lpthread  -lz 
make[2]: Leaving directory '/root/cpuminer-multi'
make[1]: Leaving directory '/root/cpuminer-multi'

How to configure openvpn client with an ovpn single configuration file

One file for configuration is always a good thing. We can pack everything needed for a openvpn client configuration in one single file, when using certificate authorization. If you use password authorization it is not possible, because the username and password must be in another file, but with certificate we can inline everything in one configuration file. Below is the template of such file:

client
dev tun
proto tcp
comp-lzo
verb 3
 
remote [IP] [PORT]
resolv-retry infinite
nobind

persist-key
persist-tun

<ca>
-----BEGIN CERTIFICATE-----
[CA_CERTIFICATE]
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
[CLIENT_CERTIFICATE]
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
[CLIENT_KEY]
-----END PRIVATE KEY-----
</key>

#uncomment to route these IP/Networks requested by the client
#route [IP1] [MASK1]
#route [IP2] [MASK2]

To get it working you should change the

  • Remote IP and port – replace [IP] [PORT] with your IP and PORT of the openvpn server you use.
  • copy everything between “—–BEGIN CERTIFICATE—–” and “—–END CERTIFICATE—–” from the certificate authority (CA) file and replace with [CA_CERTIFICATE]
  • copy everything between “—–BEGIN CERTIFICATE—–” and “—–END CERTIFICATE—–” from the certificate file and replace with [CLIENT_CERTIFICATE]
  • copy everything between “—–BEGIN PRIVATE KEY—–” and “—–END PRIVATE KEY—-” from the certificate file and replace with [CLIENT_KEY]

You can also uncomment the route lines to enable specific routes through the VPN, such routes are probably not included in the server configuration, but the user could add them, too.
Save the above file (best with extension .ovpn) and then import it in any openvpn client under Linux, Windows and Android. The file contains everything the openvpn client needs to establish a vpn connection

How to install the latest linux kernel (mainline) in CentOS 7 distro

Here you can see the steps to install the latest (mainline stable) kernel under CentOS 7, whether we need the latest driver, because we bought a new laptop released for the first time last month with the latest hardware or there is a hot fix of some nasty bug it is of no matter.
Here are the steps about installing the latest kernel to our CentOS 7, you must have root access:

  • STEP 1 Import the public key of the repository, which offer us the packages of the CentOS 7 mainline stable kernel (and some other kernels, like the Red Hat Enterprise Linux (RHEL) 6 and 7 and more, you can check out the site). The site of the repository is

    https://elrepo.org/

    Import the public key

    #change to root user (skip the first line if you are root)
    sudo su
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
  • STEP 2 Check the latest version of the rpm install package of the repository, the command is under

    To install ELRepo for RHEL-7, SL-7 or CentOS-7:

    So at present the latest version is “7.0-3” and execute to wget to download the package for the repository elrepo:

    wget http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    
  • STEP 3 Install the elrepo package with yum (you can do it with rpm command, but let yum manage all your packages and metadata for them!)
    yum -y install ./elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    

    STEP 4 List the available kernels from the elrepo to choose the one you like

    yum list available --disablerepo='*' --enablerepo=elrepo-kernel
    

    To install the latest mainline kernel you must use package starting with

    kernel-ml-*

    at moment of writing the latest mainline kernel is

    4.15.4-1.el7.elrepo

    So execute

    yum install -y --enablerepo=elrepo-kernel kernel-ml
    

    And it will pull the

    kernel-ml-4.15.4-1.el7.elrepo.x86_64

    and install it

  • STEP 5 Check if you are going to boot the new kernel, you’ve installed and set the right one to boot

    cat /boot/grub2/grubenv |grep saved
    # GRUB Environment Block
    saved_entry=CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
    

    And as you see, no it’ll not boot to the new kernel, so you must configure grub2 to boot your newly just installed kernel. First check all the installed kernels, set the right kernel and then it is mandatory to call

    grub2-mkconfig

    to update the grub2 configuration:

    [root@srv ~]# awk -F\' /^menuentry/{print\$2} /boot/grub2/grub.cfg 
    CentOS Linux (4.15.4-1.el7.elrepo.x86_64) 7 (Core)
    CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
    CentOS Linux (0-rescue-0a26fe4b81d845209fb8958c8e29d600) 7 (Core)
    

    The position 0 (YES, it starts from ZERO!) is “CentOS Linux (4.15.4-1.el7.elrepo.x86_64) 7 (Core)”, so you have two options to set it:

    grub2-set-default 0
    grub2-mkconfig -o /boot/grub2/grub.cfg
    

    Check to see if everything is OK with

    [root@srv ~]# cat /boot/grub2/grubenv |grep saved
    saved_entry=0
    

    or you can set the name of the kernel to boot with

    grub2-set-default "CentOS Linux (4.15.4-1.el7.elrepo.x86_64) 7 (Core)"
    grub2-mkconfig -o /boot/grub2/grub.cfg
    

    Check to see if everything is OK with

    [root@srv ~]# cat /boot/grub2/grubenv |grep saved
    saved_entry=CentOS Linux (4.15.4-1.el7.elrepo.x86_64) 7 (Core)
    
  • STEP 6 is just to reboot
    reboot
    

    STEP 4 Verification of running the latest kernel

    root@srv:~# uname -a
    Linux srv.local 4.15.4-1.el7.elrepo.x86_64 #1 SMP Sat Feb 17 13:35:20 EST 2018 x86_64 x86_64 x86_64 GNU/Linux
    

Install log of the procedure (your output may vary depending on your hardware installed in your system):

[root@srv ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@srv ~]# wget http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
--2018-02-19 10:20:42--  http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
Resolving www.elrepo.org (www.elrepo.org)... 69.195.83.87
Connecting to www.elrepo.org (www.elrepo.org)|69.195.83.87|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8656 (8.5K) [application/x-rpm]
Saving to: ‘elrepo-release-7.0-3.el7.elrepo.noarch.rpm’

100%[=======================================================================>] 8,656       --.-K/s   in 0.001s  

2018-02-19 10:20:42 (6.97 MB/s) - ‘elrepo-release-7.0-3.el7.elrepo.noarch.rpm’ saved [8656/8656]
[root@srv ~]# yum -y install ./elrepo-release-7.0-3.el7.elrepo.noarch.rpm 
Loaded plugins: fastestmirror
Examining ./elrepo-release-7.0-3.el7.elrepo.noarch.rpm: elrepo-release-7.0-3.el7.elrepo.noarch
Marking ./elrepo-release-7.0-3.el7.elrepo.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package elrepo-release.noarch 0:7.0-3.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================
 Package              Arch         Version                   Repository                                     Size
=================================================================================================================
Installing:
 elrepo-release       noarch       7.0-3.el7.elrepo          /elrepo-release-7.0-3.el7.elrepo.noarch       5.2 k

Transaction Summary
=================================================================================================================
Install  1 Package

Total size: 5.2 k
Installed size: 5.2 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : elrepo-release-7.0-3.el7.elrepo.noarch                                                        1/1 
  Verifying  : elrepo-release-7.0-3.el7.elrepo.noarch                                                        1/1 

Installed:
  elrepo-release.noarch 0:7.0-3.el7.elrepo                                                                       

Complete!
[root@srv ~]# yum list available --disablerepo='*' --enablerepo=elrepo-kernel
Loaded plugins: fastestmirror                                                                                                                                               
Loading mirror speeds from cached hostfile                                                                                                                                  
 * elrepo-kernel: mirrors.netix.net                                                                                                                                         
Available Packages                                                                                                                                                          
kernel-lt.x86_64                                                                      4.4.116-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-devel.x86_64                                                                4.4.116-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-doc.noarch                                                                  4.4.116-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-headers.x86_64                                                              4.4.116-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-tools.x86_64                                                                4.4.116-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-tools-libs.x86_64                                                           4.4.116-1.el7.elrepo                                                     elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                                     4.4.116-1.el7.elrepo                                                     elrepo-kernel
kernel-ml.x86_64                                                                      4.15.4-1.el7.elrepo                                                      elrepo-kernel
kernel-ml-devel.x86_64                                                                4.15.4-1.el7.elrepo                                                      elrepo-kernel
kernel-ml-doc.noarch                                                                  4.15.4-1.el7.elrepo                                                      elrepo-kernel
kernel-ml-headers.x86_64                                                              4.15.4-1.el7.elrepo                                                      elrepo-kernel
kernel-ml-tools.x86_64                                                                4.15.4-1.el7.elrepo                                                      elrepo-kernel
kernel-ml-tools-libs.x86_64                                                           4.15.4-1.el7.elrepo                                                      elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                                     4.15.4-1.el7.elrepo                                                      elrepo-kernel
perf.x86_64                                                                           4.15.4-1.el7.elrepo                                                      elrepo-kernel
python-perf.x86_64                                                                    4.15.4-1.el7.elrepo                                                      elrepo-kernel
[root@srv ~]# yum install -y --enablerepo=elrepo-kernel kernel-ml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.uni-sofia.bg
 * elrepo: mirrors.netix.net
 * elrepo-kernel: mirrors.netix.net
 * extras: centos.uni-sofia.bg
 * updates: centos.uni-sofia.bg
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:4.15.4-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================
 Package                               Arch                               Version                                           Repository                                 Size
============================================================================================================================================================================
Installing:
 kernel-ml                             x86_64                             4.15.4-1.el7.elrepo                               elrepo-kernel                              44 M

Transaction Summary
============================================================================================================================================================================
Install  1 Package

Total download size: 44 M
Installed size: 195 M
Downloading packages:
kernel-ml-4.15.4-1.el7.elrepo.x86_64.rpm                                                                                                             |  44 MB  00:00:10     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-ml-4.15.4-1.el7.elrepo.x86_64                                                                                                                     1/1 
  Verifying  : kernel-ml-4.15.4-1.el7.elrepo.x86_64                                                                                                                     1/1 

Installed:
  kernel-ml.x86_64 0:4.15.4-1.el7.elrepo                                                                                                                                    

Complete!
[root@srv ~]# cat /boot/grub2/grubenv |grep saved
# GRUB Environment Block
saved_entry=CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
[root@srv ~]# awk -F\' /^menuentry/{print\$2} /etc/grub2.cfg
CentOS Linux (4.15.4-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-0a26fe4b81d845209fb8958c8e29d600) 7 (Core)
[root@srv ~]# grub2-set-default "CentOS Linux (4.15.4-1.el7.elrepo.x86_64) 7 (Core)"
[root@srv ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.4-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.15.4-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-0a26fe4b81d845209fb8958c8e29d600
Found initrd image: /boot/initramfs-0-rescue-0a26fe4b81d845209fb8958c8e29d600.img
done
[root@srv ~]# reboot
Connection to 192.168.0.18 closed by remote host.
Connection to 192.168.0.18 closed.
...
...
...
[root@srv ~]# uname -a
Linux srv.local 4.15.4-1.el7.elrepo.x86_64 #1 SMP Sat Feb 17 13:35:20 EST 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@srv ~]#

How to install the latest linux kernel (mainline) in Ubuntu (17.10) distro

Sometimes we need to install the latest kernel version of our linux distro (btw it is called “mainline” if you need to google something about it)! Whether we need the latest driver, because we bought a new laptop released for the first time last month with the latest hardware or there is a hot fix of some nasty bug it is of no matter. Here are the steps (and some troubleshooting) about installing the latest kernel to our Ubuntu install 17.10 (with old versions like 16, 15 and 14 should be the same):

  • STEP 1 is to choose our desired kernel from

    http://kernel.ubuntu.com/~kernel-ppa/mainline/

    Open this address in your favorite browser and choose the latest. In our example the latest kernel, which is no release candidate, 4.14.15. Enter the directory

    http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.1/

    and choose your build, for example amd64 for your 64bit setup (and for most cases choose -generic- one)

    mkdir /root/latestkernel
    cd /root/latestkernel
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.1/linux-headers-4.15.1-041501_4.15.1-041501.201802031831_all.deb
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.1/linux-headers-4.15.1-041501-generic_4.15.1-041501.201802031831_amd64.deb
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.1/linux-image-4.15.1-041501-generic_4.15.1-041501.201802031831_amd64.deb
    
  • STEP 2 after successfully downloading the 3 files just install them with “dpkg” (the package manager tool)
    sudo dpkg -i linux-headers-4.15.1*.deb linux-image-4.15.1*.deb
    
  • STEP 3 is just to reboot your machine, the installation setup did everything you needed to load this kernel
    reboot
    

    STEP 4 Verification of running the latest kernel

    root@srv:~# uname -a
    Linux srv.local 4.15.1-041501-generic #201802031831 SMP Sat Feb 3 18:32:13 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    

Install log of the procedure (your output may vary depending on your hardware installed in your system):

root@srv:~/latestkernel# sudo dpkg -i linux-headers-4.15.1*.deb linux-image-4.15.1*.deb
Selecting previously unselected package linux-headers-4.15.1-041501.
(Reading database ... 200430 files and directories currently installed.)
Preparing to unpack linux-headers-4.15.1-041501_4.15.1-041501.201802031831_all.deb ...
Unpacking linux-headers-4.15.1-041501 (4.15.1-041501.201802031831) ...
Selecting previously unselected package linux-headers-4.15.1-041501-generic.
Preparing to unpack linux-headers-4.15.1-041501-generic_4.15.1-041501.201802031831_amd64.deb ...
Unpacking linux-headers-4.15.1-041501-generic (4.15.1-041501.201802031831) ...
Selecting previously unselected package linux-image-4.15.1-041501-generic.
Preparing to unpack linux-image-4.15.1-041501-generic_4.15.1-041501.201802031831_amd64.deb ...
Examining /etc/kernel/preinst.d/
run-parts: executing /etc/kernel/preinst.d/intel-microcode 4.15.1-041501-generic /boot/vmlinuz-4.15.1-041501-generic
Done.
Unpacking linux-image-4.15.1-041501-generic (4.15.1-041501.201802031831) ...
Setting up linux-headers-4.15.1-041501 (4.15.1-041501.201802031831) ...
Setting up linux-headers-4.15.1-041501-generic (4.15.1-041501.201802031831) ...                                                                                             
Setting up linux-image-4.15.1-041501-generic (4.15.1-041501.201802031831) ...                                                                                               
Running depmod.                                                                                                                                                             
update-initramfs: deferring update (hook will be called later)                                                                                                              
Examining /etc/kernel/postinst.d.                                                                                                                                           
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.15.1-041501-generic /boot/vmlinuz-4.15.1-041501-generic                                                      
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.15.1-041501-generic /boot/vmlinuz-4.15.1-041501-generic                                                       
update-initramfs: Generating /boot/initrd.img-4.15.1-041501-generic                                                                                                         
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.15.1-041501-generic /boot/vmlinuz-4.15.1-041501-generic                                                   
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.15.1-041501-generic /boot/vmlinuz-4.15.1-041501-generic                                                       
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.15.1-041501-generic /boot/vmlinuz-4.15.1-041501-generic                                                        
Generating grub configuration file ...                                                                                                                                      
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.                                                                   
Found linux image: /boot/vmlinuz-4.15.1-041501-generic                                                                                                                      
Found initrd image: /boot/initrd.img-4.15.1-041501-generic                                                                                                                  
Found linux image: /boot/vmlinuz-4.14.15-041415-generic                                                                                                                     
Found initrd image: /boot/initrd.img-4.14.15-041415-generic                                                                                                                 
Found linux image: /boot/vmlinuz-4.13.0-32-generic
Found initrd image: /boot/initrd.img-4.13.0-32-generic
Found linux image: /boot/vmlinuz-4.13.0-21-generic
Found initrd image: /boot/initrd.img-4.13.0-21-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
root@srv:~/latestkernel#

Access Violation error, when compiling packets in Gentoo

Sometimes if you try to emerge a package in Gentoo you could receive error in the configure phase of the compilation process. The example below is with the emerging the PHP – dev-lang/php-5.6.33:5.6::gentoo, but could happen with many other packages, which are rather old and probably not maintained or the sandbox or even the portage packages are old.
So here is the error and the compilation stops:

srv ~ # emerge -av --nodeps "<php-7"
...
checking for mmap() using MAP_ANON shared memory support... yes
checking for mmap() using /dev/zero shared memory support... yes
checking for mmap() using shm_open() shared memory support...  * ACCESS DENIED:  open_wr:      /run/test.shm.8811LBKone
no
checking for mmap() using regular file shared memory support... yes
...
checking for mmap() using MAP_ANON shared memory support... yes
checking for mmap() using /dev/zero shared memory support... yes
checking for mmap() using shm_open() shared memory support...  * ACCESS DENIED:  open_wr:      /run/test.shm.180309hAMbj
no
checking for mmap() using regular file shared memory support... yes
....
Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing libtool commands
config.status: executing default commands
>>> Source configured.
 * --------------------------- ACCESS VIOLATION SUMMARY ---------------------------
 * LOG FILE: "/var/log/sandbox/sandbox-13466.log"
 * 
VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: open_wr
S: deny
P: /run/test.shm.21532Xx6ViE
A: /run/test.shm.21532Xx6ViE
R: /run/test.shm.21532Xx6ViE
C: ./conftest 

F: open_wr
S: deny
P: /run/test.shm.31817hurGxH
A: /run/test.shm.31817hurGxH
R: /run/test.shm.31817hurGxH
C: ./conftest 

F: open_wr
S: deny
P: /run/test.shm.8811LBKone
A: /run/test.shm.8811LBKone
R: /run/test.shm.8811LBKone
C: ./conftest 

F: open_wr
S: deny
P: /run/test.shm.180309hAMbj
A: /run/test.shm.180309hAMbj
R: /run/test.shm.180309hAMbj
C: ./conftest 
 * --------------------------------------------------------------------------------

>>> Failed to emerge dev-lang/php-5.6.33, Log file:

>>>  '/var/tmp/portage/dev-lang/php-5.6.33/temp/build.log'

You could try adding “-sandbox” to feature in “/etc/portage/make.conf”

FEATURES="-sandbox"

But

the sandbox feature is very important and should not be disabled by default.

And that’s why sometime when you disable it with “-sandbox” you still get access violation and you still cannot install/compile the package!
The thing is you see the error and you can fix it easily. The important part is the directory, which causes the error, in the above example with “dev-lang/php”, but could be any other Gentoo package, the problem is the writing permission for files in “/run” directory. So open the configuration file

/etc/sandbox.d/00default

and you’ll see the there is a variable called SANDBOX_WRITE, which accept paths. If you add to this variable at the end the directory “/run” or your access violated directory you’ll be able to install/compile your package with no problems, for the above problem the solution was:

SANDBOX_WRITE="/usr/tmp/conftest:/usr/lib/conftest:/usr/lib32/conftest:/usr/lib64/conftest:/usr/tmp/cf:/usr/lib/cf:/usr/lib32/cf:/usr/lib64/cf:/run"

Ryzen Threadripper kernel problems with PCIe – wifi, network, video problems

If you have Ryzen Threadripper (in my case 1950X) and Ubuntu 17.10 (because the others versions do not boot at all!) with the latest kernel 4.15.x and the default vmlinuz-4.13.0-21-generic you might experience frequently wifi, network cards and video cards problems like wifi disconnects and network cards lost connections and some kind of freezes for a second or two of the video! If you have Ryzen Threadripper 1950X and or ASUS ROG ZENITH EXTREME (or any other motherboard with the chipset AMD X399) and ubuntu 17.10 or probably any linux distro with any kernel you might experience really unstable system. Look at your dmesg and if you see something like

[   18.669950] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[   18.669966] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[   18.669970] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[   18.669973] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[   18.669975] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[   23.805640] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[   23.805664] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[   23.805669] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[   23.805674] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[   23.805678] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[   23.838698] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[   23.838716] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[   23.838720] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[   23.838725] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[   23.838728] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[   36.124101] atlantic: link change old 0 new 100
[   36.124222] IPv6: ADDRCONF(NETDEV_CHANGE): enp65s0: link becomes ready
[   52.294413] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[   52.294436] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[   52.294441] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[   52.294446] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[   52.294449] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[   53.275256] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[   53.275289] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[   53.275293] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[   53.275298] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[   53.275301] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[   53.418493] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[   53.418517] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[   53.418522] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[   53.418527] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[   53.418530] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[   53.649938] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[   53.649962] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[   53.649967] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[   53.649972] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[   53.649975] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[  113.294411] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[  113.294434] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[  113.294439] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[  113.294444] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000040/00006000
[  113.294450] pcieport 0000:00:01.1:    [ 6] Bad TLP               
[  265.469397] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[  265.469419] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[  265.469424] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Transmitter ID)
[  265.469429] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00001000/00006000
[  265.469438] pcieport 0000:00:01.1:    [12] Replay Timer Timeout  
[  533.031982] dpc 0000:00:01.1:pcie010: DPC containment event, status:0x1f00 source:0x0000
[  533.032004] pcieport 0000:00:01.1: AER: Corrected error received: id=0000
[  533.032009] pcieport 0000:00:01.1: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0009(Receiver ID)
[  533.032014] pcieport 0000:00:01.1:   device [1022:1453] error status/mask=00000080/00006000
[  533.032022] pcieport 0000:00:01.1:    [ 7] Bad DLLP      

Apparently everything on the pci express could be affected! So till the kernel team fixes the issues, you can use the following workaround: add to the kernel boot parameters

pcie_aspm=off

Under Ubuntu you can add in the file

/etc/default/grub

the following line

GRUB_CMDLINE_LINUX="pcie_aspm=off"

And then execute

update-grub

the changes to take effect in the grub configuration. Then reboot the machine!

Under CentOS 7 the configuration file and the line to put are the same just the update of the grub configuration is different:

  • For UEFI-based systems execute:
    grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    
  • For legacy-BIOS systems execute:
    grub2-mkconfig -o /boot/grub2/grub.cfg
    

*You should know what is your setup, probably UEFI-based, you could check in your boot directory, if there is /boot/efi/EFI/centos/grub.cfg you probably should use the option for UEFI-based, if you do not have any “efi” directory under “/boot” use the second option for legacy-BIOS.
Then reboot the machine!