List all kernels available to install under Ubuntu

Here is the fast command to see which Linux kernels are available to install from the Ubuntu package management system:

apt update
apt list linux-*image-*

Always update to download the latest metadata files for the available packages and the list with a pattern. In our case we want the Ubuntu kernels and they start with “linux-“, before it was easy linux-image-*, but now there are two types of kernels:

  1. Signed Linux kernel with name starting “linux-signed-image-” (and alias is “linux-image-“) – “Signed with the Ubuntu EFI key”, which means you should have UEFI BIOS and unsigned (with two words – “more security”)
  2. Good old kernel format (so no signing) with name starting “linux-image-unsigned-” – to be sure you pull the unsigned version

And you can use:

apt search linux-*image-*

to see the kernels available and their descriptions.
Keep on reading!

PHP module compilation error – libtool: Version mismatch error

If you happen to get this error trying to build your own a PHP module (probably, because you need a newer version than the included one in the disto you use and because it is fairly easy):

libtool: Version mismatch error.  This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.
make: *** [Makefile:181: geoip.lo] Error 63

Here is what you can do to recreate the configuration files for the build process:

phpize
aclocal
libtoolize --force
autoheader
autoconf
./configure
make

This sequence of commands (probably without the phpize, because it is PHP specific) could save you in similar situations with similar error in other source code not related to PHP.
Keep on reading!

Missing pkg-config results in configure error: possibly undefined macro

This small article is for you who wonder why a configure script under Linux failed with an error like:

configure.ac:204: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:216: error: possibly undefined macro: AC_CHECK_LIB
configure.ac:328: error: possibly undefined macro: AC_CHECK_HEADER
autoreconf: /usr/bin/autoconf failed with exit status: 1
 FAILED 

So autoreconf failed with missing macros, but you just saw you had the latest version and no clue what is wrong with the code you tried to compile!
In most cases the problem is trivial – you are missing the

pkg-config

It is a helper tool used when compiling. It helps to have the correct compiler options and not to hard-coded them in your files. So search for this tool in your Linux distro and install it.

Under CentOS 7

yum install pkgconfig

Under Ubuntu/Debian

apt-get install pkg-config

Under Gentoo

emerge -v dev-util/pkgconfig

Installation and Benchmarks with Phoronix test suite 8.2 under Ubuntu 16.04 LTS

The purpose of this article is to show you how you can test your machine – server or desktop with multiple benchmark tools. The easiest way to try some benchmarks is to use the great tool of Phoronix Test Suite, because it includes around 300 different benchmark utilities and running a test is just choosing it and then running it. No installation of additional software is required by the user. You can check for more info in their web site. Here we show you how easy is to install and run a tests:

sudo apt-get update -y
wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_8.2.0_all.deb
sudo apt-get install autoreconf
sudo apt-get install ./phoronix-test-suite_8.2.0_all.deb

Below is the detailed explanation of where to download and how to install the tests suite:

STEP 1) Update your system

myuser@myuserpc:~$ sudo apt update -y
Hit:1 http://gb.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 http://security.ubuntu.com/ubuntu xenial-security InRelease
Hit:3 http://gb.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:4 http://gb.archive.ubuntu.com/ubuntu xenial-backports InRelease
Reading package lists... Done                     
Building dependency tree       
Reading state information... Done
106 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@myuserpc:/home/myuser# apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  linux-headers-4.15.0-36 linux-headers-4.15.0-36-generic linux-image-4.15.0-36-generic linux-modules-4.15.0-36-generic linux-modules-extra-4.15.0-36-generic
The following packages will be upgraded:
  apparmor apturl apturl-common bind9-host binutils dnsutils firefox firefox-locale-en fonts-opensymbol fwupd ghostscript ghostscript-x gir1.2-javascriptcoregtk-4.0
  gir1.2-webkit2-4.0 gnupg gpgv imagemagick imagemagick-6.q16 imagemagick-common initramfs-tools initramfs-tools-bin initramfs-tools-core intel-microcode libapparmor-perl
  libapparmor1 libappstream-glib8 libarchive13 libbind9-140 libcapnp-0.5.3 libcurl3 libcurl3-gnutls libdfu1 libdns-export162 libdns162 libfwupd1 libgd3 libglib2.0-0
  libglib2.0-bin libglib2.0-data libgs9 libgs9-common libisc-export160 libisc160 libisccc140 libisccfg140 libjavascriptcoregtk-4.0-18 liblcms2-2 liblcms2-utils
  liblouis-data liblouis9 liblwres141 libmagickcore-6.q16-2 libmagickcore-6.q16-2-extra libmagickwand-6.q16-2 libnux-4.0-0 libnux-4.0-common libpoppler-glib8 libpoppler58
  libreoffice-avmedia-backend-gstreamer libreoffice-base-core libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gnome libreoffice-gtk
  libreoffice-impress libreoffice-math libreoffice-ogltrans libreoffice-pdfimport libreoffice-style-breeze libreoffice-style-galaxy libreoffice-writer libsmbclient
  libwbclient0 libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 libx11-6 libx11-data libx11-xcb1 libxcursor1 libxkbcommon-x11-0 libxkbcommon0 libxml2
  linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-libc-dev linux-signed-generic-hwe-16.04 nux-tools poppler-utils
  python3-louis python3-uno python3-update-manager python3-urllib3 samba-libs squashfs-tools tzdata uno-libs3 update-manager update-manager-core ure wpasupplicant
  x11-common xorg xserver-common
106 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 65.6 MB/242 MB of archives.
After this operation, 343 MB of additional disk space will be used.
myuser@myuserpc:~$ sudo reboot

As you can see we have kernel update so you must reboot your machine.

STEP 2) Download the Phoronix Test Suite – latest version.

As of writing this article the latest version is 8.2.0. You can check the latest version here Go to the download page and copy the URL for the latest version – “Ubuntu/Debian Package” – a deb package is available. The deb package will install all the dependency required (or most of them).

myuser@myuserpc:~$ wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_8.2.0_all.deb

STEP 3) Install the Phoronix Test Suite 8.2.0 and the additional dependency.

We used a freshly installed Ubuntu 16.04.5 and we discovered that after a successful installation you need an additional package “autoconf”, because all tools were failing with an error.

root@myuserpc:~# apt-get install autoconf
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  automake libsigsegv2 m4
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc
The following NEW packages will be installed:
  autoconf automake libsigsegv2 m4
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 1039 kB of archives.
After this operation, 3843 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libsigsegv2 amd64 2.10-4 [14.1 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 m4 amd64 1.4.17-5 [195 kB]
Get:3 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 autoconf all 2.69-9 [321 kB]
Get:4 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 automake all 1:1.15-4ubuntu1 [510 kB]
Fetched 1039 kB in 0s (2066 kB/s)
Selecting previously unselected package libsigsegv2:amd64.
(Reading database ... 213618 files and directories currently installed.)
Preparing to unpack .../libsigsegv2_2.10-4_amd64.deb ...
Unpacking libsigsegv2:amd64 (2.10-4) ...
Selecting previously unselected package m4.
Preparing to unpack .../archives/m4_1.4.17-5_amd64.deb ...
Unpacking m4 (1.4.17-5) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../autoconf_2.69-9_all.deb ...
Unpacking autoconf (2.69-9) ...
Selecting previously unselected package automake.
Preparing to unpack .../automake_1%3a1.15-4ubuntu1_all.deb ...
Unpacking automake (1:1.15-4ubuntu1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Setting up libsigsegv2:amd64 (2.10-4) ...
Setting up m4 (1.4.17-5) ...
Setting up autoconf (2.69-9) ...
Setting up automake (1:1.15-4ubuntu1) ...
update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode
Processing triggers for libc-bin (2.23-0ubuntu10) ...
myuser@myuserpc:~$ sudo apt-get install ./phoronix-test-suite_8.2.0_all.deb 
[sudo] password for myuser: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'phoronix-test-suite' instead of './phoronix-test-suite_8.2.0_all.deb'
The following additional packages will be installed:
  php-cli php-common php-gd php-xml php7.0-cli php7.0-common php7.0-gd php7.0-json php7.0-opcache php7.0-readline php7.0-xml
Suggested packages:
  php-pear
The following NEW packages will be installed:
  phoronix-test-suite php-cli php-common php-gd php-xml php7.0-cli php7.0-common php7.0-gd php7.0-json php7.0-opcache php7.0-readline php7.0-xml
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 2387 kB/2980 kB of archives.
After this operation, 15.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 /home/myuser/phoronix-test-suite_8.2.0_all.deb phoronix-test-suite all 8.2.0 [594 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php-common all 1:35ubuntu6.1 [10.8 kB]
Get:3 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-common amd64 7.0.32-0ubuntu0.16.04.1 [840 kB]
Get:4 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-json amd64 7.0.32-0ubuntu0.16.04.1 [16.9 kB]
Get:5 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-opcache amd64 7.0.32-0ubuntu0.16.04.1 [77.2 kB]
Get:6 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-readline amd64 7.0.32-0ubuntu0.16.04.1 [12.9 kB]
Get:7 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-cli amd64 7.0.32-0ubuntu0.16.04.1 [1282 kB]
Get:8 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php-cli all 1:7.0+35ubuntu6.1 [2946 B]
Get:9 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-xml amd64 7.0.32-0ubuntu0.16.04.1 [113 kB]
Get:10 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 php-xml all 1:7.0+35ubuntu6.1 [1954 B]
Get:11 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-gd amd64 7.0.32-0ubuntu0.16.04.1 [27.2 kB]
Get:12 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php-gd all 1:7.0+35ubuntu6.1 [1924 B]
Fetched 2387 kB in 0s (2652 kB/s) 
Selecting previously unselected package php-common.
(Reading database ... 212705 files and directories currently installed.)
Preparing to unpack .../php-common_1%3a35ubuntu6.1_all.deb ...
Unpacking php-common (1:35ubuntu6.1) ...
Selecting previously unselected package php7.0-common.
Preparing to unpack .../php7.0-common_7.0.32-0ubuntu0.16.04.1_amd64.deb ...
Unpacking php7.0-common (7.0.32-0ubuntu0.16.04.1) ...
Selecting previously unselected package php7.0-json.
Preparing to unpack .../php7.0-json_7.0.32-0ubuntu0.16.04.1_amd64.deb ...
Unpacking php7.0-json (7.0.32-0ubuntu0.16.04.1) ...
Selecting previously unselected package php7.0-opcache.
Preparing to unpack .../php7.0-opcache_7.0.32-0ubuntu0.16.04.1_amd64.deb ...
Unpacking php7.0-opcache (7.0.32-0ubuntu0.16.04.1) ...
Selecting previously unselected package php7.0-readline.
Preparing to unpack .../php7.0-readline_7.0.32-0ubuntu0.16.04.1_amd64.deb ...
Unpacking php7.0-readline (7.0.32-0ubuntu0.16.04.1) ...
Selecting previously unselected package php7.0-cli.
Preparing to unpack .../php7.0-cli_7.0.32-0ubuntu0.16.04.1_amd64.deb ...
Unpacking php7.0-cli (7.0.32-0ubuntu0.16.04.1) ...
Selecting previously unselected package php-cli.
Preparing to unpack .../php-cli_1%3a7.0+35ubuntu6.1_all.deb ...
Unpacking php-cli (1:7.0+35ubuntu6.1) ...
Selecting previously unselected package php7.0-xml.
Preparing to unpack .../php7.0-xml_7.0.32-0ubuntu0.16.04.1_amd64.deb ...
Unpacking php7.0-xml (7.0.32-0ubuntu0.16.04.1) ...
Selecting previously unselected package php-xml.
Preparing to unpack .../php-xml_1%3a7.0+35ubuntu6.1_all.deb ...
Unpacking php-xml (1:7.0+35ubuntu6.1) ...
Selecting previously unselected package phoronix-test-suite.
Preparing to unpack .../phoronix-test-suite_8.2.0_all.deb ...
Unpacking phoronix-test-suite (8.2.0) ...
Selecting previously unselected package php7.0-gd.
Preparing to unpack .../php7.0-gd_7.0.32-0ubuntu0.16.04.1_amd64.deb ...
Unpacking php7.0-gd (7.0.32-0ubuntu0.16.04.1) ...
Selecting previously unselected package php-gd.
Preparing to unpack .../php-gd_1%3a7.0+35ubuntu6.1_all.deb ...
Unpacking php-gd (1:7.0+35ubuntu6.1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1.1) ...
Setting up php-common (1:35ubuntu6.1) ...
Setting up php7.0-common (7.0.32-0ubuntu0.16.04.1) ...
Setting up php7.0-json (7.0.32-0ubuntu0.16.04.1) ...
Setting up php7.0-opcache (7.0.32-0ubuntu0.16.04.1) ...
Setting up php7.0-readline (7.0.32-0ubuntu0.16.04.1) ...
Setting up php7.0-cli (7.0.32-0ubuntu0.16.04.1) ...
Setting up php-cli (1:7.0+35ubuntu6.1) ...
Setting up php7.0-xml (7.0.32-0ubuntu0.16.04.1) ...
Setting up php-xml (1:7.0+35ubuntu6.1) ...
Setting up phoronix-test-suite (8.2.0) ...
Setting up php7.0-gd (7.0.32-0ubuntu0.16.04.1) ...
Creating config file /etc/php/7.0/mods-available/gd.ini with new version
Setting up php-gd (1:7.0+35ubuntu6.1) ..

STEP 4) Run a simple benchmark

Here it is as simple as that to run a sysbench benchmark. We included all the output of the program you can see the shared URL, too. The test is named “sysbench-tests” – this is the name of the group, the unique name is also sysbench-tests, but if you run the test again you should set another unique name (let’s say you changed something like the kernel version) so you use the same name “sysbench-tests” for the result file and “sysbench-tests-KERNEL_VERSION” for “unique name to describe this test run / configuration”, so you can compare them.
We highlighted the lines the executed commands, answers to questions of the Phoronix Test Suite and the results from the benchmarks. The second part below shows the saved results and the name and the unique name – the difference between them and what we meant a sentence above.

root@myuserpc:~# phoronix-test-suite benchmark sysbench


Phoronix Test Suite v8.2.0

    To Install:    pts/sysbench-1.0.0

    Determining File Requirements ......................................................................................................................................
    Searching Download Caches ..........................................................................................................................................

    1 Test To Install
        45MB Of Disk Space Is Needed

    pts/sysbench-1.0.0:
        Test Installation 1 of 1
        1 File Needed [2.14 MB / 1 Minute]
        File Found: sysbench-20180728.zip                                                                                                                       [2.14MB]
        Installation Size: 45 MB
        Installing Test @ 19:37:17



Sysbench 2018-07-28:
    pts/sysbench-1.0.0
    System Test Configuration
        1: CPU
        2: Memory
        3: Test All Options
        ** Multiple items can be selected, delimit by a comma. **
        Test: 3


System Information


  PROCESSOR:          AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz
    Core Count:       16
    Thread Count:     32
    Extensions:       SSE 4.2 + AVX2 + AVX + RDRAND + FSGSBASE
    Cache Size:       512 KB
    Microcode:        0x8001137
    Scaling Driver:   acpi-cpufreq ondemand

  GRAPHICS:           nouveaufb
    Display Driver:   modesetting 1.19.6
    Monitor:          PHL 284E5
    Screen:           1920x1080

  MOTHERBOARD:        ASUS ROG ZENITH EXTREME
    BIOS Version:     1402
    Chipset:          AMD Device 1450
    Audio:            NVIDIA Device 10ef
    Network:          Intel I211 Gigabit Connection + Qualcomm Atheros QCA6174 802.11ac Wireless

  MEMORY:             4 x 8192 MB DDR4-1067MHz F4-3200C14-8GTZR

  DISK:               Samsung SSD 960 PRO 512GB
    File-System:      ext4
    Mount Options:    data=ordered errors=remount-ro relatime rw
    Disk Scheduler:   NONE

  OPERATING SYSTEM:   Ubuntu 16.04
    Kernel:           4.15.0-36-generic (x86_64)
    Display Server:   X Server 1.19.6
    Compiler:         GCC 5.4.0 20160609
    Security:         __user pointer sanitization + Full AMD retpoline IBPB + SSB disabled via prctl and seccomp

    Would you like to save these test results (Y/n): y

    Recently Saved Test Results:
       socket-tests   [Today]

    Enter a name for the result file: sysbench-tests
    Enter a unique name to describe this test run / configuration: sysbench-tests

If desired, enter a new description below to better describe this result set / system configuration under test.
Press ENTER to proceed without changes.

Current Description: AMD Ryzen Threadripper 1950X 16-Core testing with a ASUS ROG ZENITH EXTREME (1402 BIOS) and nouveaufb on Ubuntu 16.04 via the Phoronix Test Suite.

New Description: 


Sysbench 2018-07-28:
    pts/sysbench-1.0.0 [Test: Memory]
    Test 1 of 2
    Estimated Trial Run Count:    3
    Estimated Test Run-Time:      2 Minutes
    Estimated Time To Completion: 3 Minutes [19:43 BST]
        Started Run 1 @ 19:41:19
        Started Run 2 @ 19:41:30
        Started Run 3 @ 19:41:41

    Test: Memory:
        6349228.7373
        6322490.2804
        6353262.9365

    Average: 6341660.65 Events Per Second
    Deviation: 0.26%

    OpenBenchmarking.org Dynamic Comparison: 
    Events Per Second > Higher Is Better
    sysbench-tests ...... 6341661 |==============
    Clang 8.0 20180820 .. 7271461 |================================
    Clang 6.0.1 ......... 7303676 |================================
    GCC 8.2.0 ........... 7311315 |================================
    GCC 9.0.0 20180819 .. 7328767 |=================================
    GCC 7.3.0 ........... 7338351 |=================================
    Result Perspective: https://openbenchmarking.org/result/1808213-PTS-GCCBENCH48


Sysbench 2018-07-28:
    pts/sysbench-1.0.0 [Test: CPU]
    Test 2 of 2
    Estimated Trial Run Count:    3
    Estimated Time To Completion: 2 Minutes [19:43 BST]
        Started Run 1 @ 19:42:16
        Started Run 2 @ 19:42:27
        Started Run 3 @ 19:42:38

    Test: CPU:
        30965.4839
        30952.6457
        30945.763

    Average: 30954.63 Events Per Second
    Deviation: 0.03%

    OpenBenchmarking.org Dynamic Comparison: 
    Events Per Second > Higher Is Better
    Core i7 5960X ........ 13595 |=========
    Core i7 8700K ........ 14330 |===========
    Ryzen 7 2700X ........ 16851 |=================
    1950X 4.1 PStateOC ... 19178 |=======================
    Core i9 7900X ........ 22118 |==============================
    2950X PBO2 ........... 23210 |=================================
    Threadripper 1950X ... 30920 |====================================================
    sysbench-tests ....... 30955 |====================================================
    1950X Stock .......... 30972 |====================================================
    1950X Stock2 ......... 30987 |====================================================
    Core i9 7960X ........ 31814 |======================================================
    Threadripper 2950X ... 33082 |=========================================================
    Core i9 7980XE ....... 33797 |===========================================================
    Threadripper 2990WX .. 56447 |==================================================================================================================
    Result Perspective: https://openbenchmarking.org/result/1809071-AR-1808115RA52

    Do you want to view the text results of the testing (Y/n): y
sysbench-tests
AMD Ryzen Threadripper 1950X 16-Core testing with a ASUS ROG ZENITH EXTREME (1402 BIOS) and nouveaufb on Ubuntu 16.04 via the Phoronix Test Suite.


sysbench-tests: 

        Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG ZENITH EXTREME (1402 BIOS), Chipset: AMD Device 1450, Memory: 4 x 8192 MB DDR4-1067MHz F4-3200C14-8GTZR, Disk: Samsung SSD 960 PRO 512GB, Graphics: nouveaufb, Audio: NVIDIA Device 10ef, Monitor: PHL 284E5, Network: Intel I211 Gigabit Connection + Qualcomm Atheros QCA6174 802.11ac Wireless

        OS: Ubuntu 16.04, Kernel: 4.15.0-36-generic (x86_64), Display Server: X Server 1.19.6, Display Driver: modesetting 1.19.6, Compiler: GCC 5.4.0 20160609, File-System: ext4, Screen Resolution: 1920x1080

Sysbench 2018-07-28
Test: Memory
    Events Per Second > Higher Is Better
    sysbench-tests .. 6341661 |=====================================================

Sysbench 2018-07-28
Test: CPU
    Events Per Second > Higher Is Better
    sysbench-tests .. 30955 |=====================================================

    Would you like to upload the results to OpenBenchmarking.org (y/n): y
    Would you like to attach the system logs (lspci, dmesg, lsusb, etc) to the test result (y/n): n

Results Uploaded To: https://openbenchmarking.org/result/1810086-RA-SYSBENCHT09

We’ve made two more tests with different kernels, so here are the results (the one with no kernel version uses the latest official Ubuntu kernel at the moment – 4.15.0-36-generic):

root@myuserpc:/home/myuser# phoronix-test-suite show-result sysbench-tests

sysbench-tests
AMD Ryzen Threadripper 1950X 16-Core testing with a ASUS ROG ZENITH EXTREME (1402 BIOS) and nouveaufb on Ubuntu 16.04 via the Phoronix Test Suite.


sysbench-tests: 

        Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG ZENITH EXTREME (1402 BIOS), Chipset: AMD Device 1450, Memory: 4 x 8192 MB DDR4-1067MHz F4-3200C14-8GTZR, Disk: Samsung SSD 960 PRO 512GB, Graphics: nouveaufb, Audio: NVIDIA Device 10ef, Monitor: PHL 284E5, Network: Intel I211 Gigabit Connection + Qualcomm Atheros QCA6174 802.11ac Wireless

        OS: Ubuntu 16.04, Kernel: 4.15.0-36-generic (x86_64), Display Server: X Server 1.19.6, Display Driver: modesetting 1.19.6, Compiler: GCC 5.4.0 20160609, File-System: ext4, Screen Resolution: 1920x1080

sysbench-tests-4.18.12: 

        Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG ZENITH EXTREME (1402 BIOS), Chipset: AMD Device 1450, Memory: 4 x 8192 MB DDR4-1067MHz F4-3200C14-8GTZR, Disk: Samsung SSD 960 PRO 512GB, Graphics: nouveaufb, Audio: NVIDIA Device 10ef, Monitor: PHL 284E5, Network: Intel I211 Gigabit Connection + Qualcomm Atheros QCA6174 802.11ac Wireless

        OS: Ubuntu 16.04, Kernel: 4.18.12-041812-generic (x86_64), Display Server: X Server 1.19.6, Display Driver: modesetting 1.19.6, Compiler: GCC 5.4.0 20160609, File-System: ext4, Screen Resolution: 1920x1080

sysbench-tests-4.13.26: 

        Processor: AMD Ryzen Threadripper 1950X 16-Core @ 3.40GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG ZENITH EXTREME (1402 BIOS), Chipset: AMD Device 1450, Memory: 4 x 8192 MB DDR4-1067MHz F4-3200C14-8GTZR, Disk: Samsung SSD 960 PRO 512GB, Graphics: nouveaufb, Audio: NVIDIA Device 10ef, Monitor: PHL 284E5, Network: Intel I211 Gigabit Connection + Qualcomm Atheros QCA6174 802.11ac Wireless

        OS: Ubuntu 16.04, Kernel: 4.13.16-041316-generic (x86_64), Display Server: X Server 1.19.6, Display Driver: modesetting 1.19.6, Compiler: GCC 5.4.0 20160609, File-System: ext4, Screen Resolution: 1920x1080

Sysbench 2018-07-28
Test: Memory
    Events Per Second > Higher Is Better
    sysbench-tests .......... 6341661 |=====================================================
    sysbench-tests-4.18.12 .. 6327526 |=====================================================
    sysbench-tests-4.13.26 .. 6265701 |===================================================

Sysbench 2018-07-28
Test: CPU
    Events Per Second > Higher Is Better
    sysbench-tests .......... 30955 |=======================================================
    sysbench-tests-4.18.12 .. 30946 |=======================================================
    sysbench-tests-4.13.26 .. 30924 |=======================================================

Throubleshooting

Error occurs if your system misses the “autoconf” package

root@myuserpc:~# phoronix-test-suite benchmark sockperf

Phoronix Test Suite v8.2.0

    To Install:    pts/sockperf-1.0.0

    Determining File Requirements ......................................................................................................................................
    Searching Download Caches ..........................................................................................................................................

    1 Test To Install
        125MB Of Disk Space Is Needed

    pts/sockperf-1.0.0:
        Test Installation 1 of 1
        1 File Needed [0.22 MB / 1 Minute]
        File Found: sockperf-3.4.zip                                                                                                                            [0.22MB]
        Installation Size: 125 MB
        Installing Test @ 18:27:11
            The installer exited with a non-zero exit status.
            ERROR: Missing Command: autoreconf
            LOG: /var/lib/phoronix-test-suite/installed-tests/pts/sockperf-1.0.0/install-failed.log


    [PROBLEM] pts/sockperf-1.0.0 is not installed. 

root@myuserpc:~# phoronix-test-suite benchmark sysbench

Phoronix Test Suite v8.2.0

    To Install:    pts/sysbench-1.0.0

    Determining File Requirements ......................................................................................................................................
    Searching Download Caches ..........................................................................................................................................

    1 Test To Install
        1 File To Download [2.14MB]
        45MB Of Disk Space Is Needed

    pts/sysbench-1.0.0:
        Test Installation 1 of 1
        1 File Needed [2.14 MB / 1 Minute]
        Downloading: sysbench-20180728.zip                                                                                                                      [2.14MB]
        Estimated Download Time: 1m ....................................................................................................................................
        Installation Size: 45 MB
        Installing Test @ 18:26:17
            The installer exited with a non-zero exit status.
            ERROR: Missing Command: autoreconf
            LOG: /var/lib/phoronix-test-suite/installed-tests/pts/sysbench-1.0.0/install-failed.log


    [PROBLEM] pts/sysbench-1.0.0 is not installed. 
root@myuserpc:~# cat /var/lib/phoronix-test-suite/installed-tests/pts/sysbench-1.0.0/install-failed.log
Archive:  sysbench-20180728.zip
7c366c6043117fbcd17eed54dcb20f9665517d1b
   creating: sysbench-master/
  inflating: sysbench-master/.gitignore  
  inflating: sysbench-master/.travis.yml  
.....
.....
./autogen.sh: 3: ./autogen.sh: autoreconf: not found
/var/lib/phoronix-test-suite/test-profiles/pts/sysbench-1.0.0/install.sh: line 6: ./configure: No such file or directory
make: *** No targets specified and no makefile found.  Stop.

The setup cannot configure the downloaded source code of sysbench.

Gentoo emerge: Failed Running automake

This article is for Gentoo build problem:

Failed Running automake

but basically the problem could occur in any Linux system and the solution is logically the same.
During our @world update our emerge failed on:

>>> Emerging (44 of 95) dev-libs/libmemcached-1.0.18-r3::gentoo
 * libmemcached-1.0.18.tar.gz BLAKE2B SHA512 size ;-) ...                                                                                                            [ ok ]
>>> Unpacking source...
>>> Unpacking libmemcached-1.0.18.tar.gz to /var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/work
>>> Source unpacked in /var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/work
>>> Preparing source in /var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/work/libmemcached-1.0.18 ...
 * Applying debug-disable-enable-1.0.18.patch ...                                                                                                                    [ ok ]
 * Applying continuum-1.0.18.patch ...                                                                                                                               [ ok ]
 * Applying libmemcached-1.0.18-gcc7.patch ...                                                                                                                       [ ok ]
 * Running eautoreconf in '/var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/work/libmemcached-1.0.18' ...
 * Running libtoolize --install --copy --force --automake ...                                                                                                        [ ok ]
 * Running aclocal -I m4 -I libtest/m4 ...                                                                                                                           [ ok ]
 * Running autoconf --force ...                                                                                                                                      [ ok ]
 * Running autoheader ...                                                                                                                                            [ ok ]
 * Running automake --add-missing --copy --foreign --force-missing ...                                                                                               [ !! ]

 * Failed Running automake !
 * 
 * Include in your bugreport the contents of:
 * 
 *   /var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/temp/automake.out

 * ERROR: dev-libs/libmemcached-1.0.18-r3::gentoo failed (prepare phase):
 *   Failed Running automake !
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_prepare
 *   environment, line 2214:  Called eautoreconf
 *   environment, line  714:  Called eautomake
 *   environment, line  668:  Called autotools_run_tool 'automake' '--add-missing' '--copy' '--foreign' '--force-missing'
 *   environment, line  532:  Called die
 * The specific snippet of code:
 *           die "Failed Running $1 !";
 * 
 * If you need support, post the output of `emerge --info '=dev-libs/libmemcached-1.0.18-r3::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-libs/libmemcached-1.0.18-r3::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/work/libmemcached-1.0.18'
 * S: '/var/tmp/portage/dev-libs/libmemcached-1.0.18-r3/work/libmemcached-1.0.18'

>>> Failed to emerge dev-libs/libmemcached-1.0.18-r3, Log file:

We have installed automake, the dependency is OK, there is no need of new version of automake (the libmemcached did not required to install a new version as a dependency), but still the build process failed!
automake has many different versions installed on the same system and the problem is that one of your currently installed version is too old, so you must upgrade all versions (from the all different branches installed).
First check what versions are installed (equery is part of app-portage/gentoolkit):

root@srv ~ # equery list automake
 * Searching for automake ...
[I--] [??] sys-devel/automake-1.11.3:1.11
[I--] [??] sys-devel/automake-1.12.6:1.12
[I--] [??] sys-devel/automake-1.13.4:1.13
[I--] [??] sys-devel/automake-1.14.1:1.14
[IP-] [  ] sys-devel/automake-1.15.1-r2:1.15
[IP-] [  ] sys-devel/automake-1.16.1-r1:1.16

We have version from branch 1.11, 1.12, 1.13 and 1.14 – one of these version is causing the problem!
Up until now no package required as a dependency 1.15 and 1.16, so we do not have it installed.

Here we upgrade them all to their latest versions in every branch version:

root@srv ~ # emerge -vu sys-devel/automake:1.11 sys-devel/automake:1.12 sys-devel/automake:1.13 sys-devel/automake:1.14

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-devel/automake-1.12.6-r2:1.12::gentoo [1.12.6:1.12::gentoo] USE="-test%" 1368 KiB
[ebuild     U  ] sys-devel/automake-1.11.6-r3:1.11::gentoo [1.11.3:1.11::gentoo] USE="-test%" 896 KiB
[ebuild     U  ] sys-devel/automake-1.14.1-r2:1.14::gentoo [1.14.1:1.14::gentoo] USE="-test%" 1455 KiB
[ebuild     U  ] sys-devel/automake-1.13.4-r2:1.13::gentoo [1.13.4:1.13::gentoo] USE="-test%" 1416 KiB

Total: 4 packages (4 upgrades), Size of downloads: 5133 KiB

As you can see we have updated version in every branch! And after updating them the building of libmemcached passed smoothly!
It’s not only in Gentoo, in most Linux distros (such as Ubuntu, CentOS, Manjaro, Mint and so on) have multiple automake version installed, so if you encounter this problem check your automake version installed for their latest versions and also if you miss some of them.

Update BIOS motherboard ASUS Zenith Extreme x399

This time we show what to expect when updating your UEFI BIOS of your ASUS Zenith Extreme (chipset x399) – a pretty good and performance setup! Here we update the UEFI BIOS from the BIOS itself – in fact, no OS is needed! This motherboard has a built-on utility called

Asus EZ Flash 3 Utility

which is started from the BIOS and it could read your NTFS or FAT filesystem to locate the update firmware file or the easy way to get connected to the Internet, check, download and install the update if any!
So here some screenshots to how to perform the update from 1003 to 1402 – it is easy and safe just couple of reboots needed – total of 4 (but in your case may vary).

STEP 1) Press DEL or F2 to enter your UEFI BIOS

main menu
Enter UEFI BIOS

Keep on reading!

Reset lost admin password of Grafana server (CentOS 7)

It could happen to lose your Grafana admin password and luckily there is a pretty easy way for the system administrator of the Grafana server to reset the admin password.
There is really good and simple page of how you can reset the admin password with grafana-cli in the documentation of Grafana website. Probably you can check it, too.

The problem is that most distributions like the one we use (CentOS 7) rearrange the home directory of the Grafana software and if you try to use grafana-cli you’ll end up with the error mentioned in the section below the solution we offer you here! And you really could mess it up and hurry to say this software is buggy!
First, “grafana-cli admin reset-admin-password ” needs to know where is your configuration file and Grafana home directory, because from the configuration it will extract what kind of back-end server you use like sqlite3 or MySQL (or other) and the path or login data if needed to the back-end, then it will reset the password with the given one. At the bottom of this article, there is another method of resetting the Grafana admin password without grafana-cli – manual reset in the database.
So first you should check with what command-line arguments was your instance of Grafana server started:
Keep on reading!

Upgrade self-hosted atlassian bitbucket 4.x to 5.x in CentOS 7

Here we are going to show you a real example of how we upgraded out Atlassian Bitbucket server from 4.14.4 (around April 2017 installation) with the latest version of Atlassian Bitbucket 5.14.0. We use

  1. using self-hosted instance of Bitbucket 4.14.4
  2. Linux distro – CentOS 7.
  3. MySQL server for back-end. So there is a jdbc mysql driver (which should be installed after the upgrade).
  4. NGINX is used as proxy for our main HTTPS url. So we have changed our default configuration in server (in sever.xml).
  5. Bitbucket is loaded from a URL/bitbucket – “https://dev.example.com/bitbucket/”. So we have changed our default configuration (in sever.xml).

and you’ll see there are some pitfalls you can avoid if you follow our article. The latest git program in CentOS 7 is 1.8 and is not compatible with the new Atlassian Bitbucket 5.x, so we need to solve this problem before updating the server. Check out the official upgrade page here
Keep on reading!

Manual install of base Gentoo Linux x86_64 with openrc (init) and uefi using minimal installation cd

Here we are going to show the minimum steps to install a base Gentoo Linux on your computer – server or desktop using “Minimal Installation CD”.
The installation ISO CD is generated on 11.09.2018, but you can use an older or newer one, this guide uses commands, which are available in really old ISOs (10 years ago) and probably will be available in the future, too! The idea is not to change this ISO a lot and to have only the basic tools for installation, which should be the same for a really long time! If you need more tools there two other options: Hybrid IS0, which is a LiveDVD – a system with GUI and Admin CD, which is an extended version of the minimal installation CD (no GUI).

Our base Gentoo system will use:

  1. OpenRC, which is based on init to boot the server. This is the default in Gentoo, but you might have problems using Gnome
  2. GRUB 2 UEFI enabled and the server will be booted in UEFI mode. Recently most of the desktop machine and server support it and in many cases it is mandatory to use a new hardware.
  3. No GUI will be installed (KDE, Gnome, Xfce and so on), there are other tutorials for this, you can check here (coming soon)

Keep on reading!

Gentoo Minimal Installation CD (amd64 aka x86_64) – booting (in UEFI mode)

Here is the process of booting from a Gentoo Minimal Installation CD amd64 (x86_64) with UEFI mode enabled. This is not an installation guide!
You can download the CD from here: https://www.gentoo.org/downloads/ Here is the ISO file: http://distfiles.gentoo.org/releases/amd64/autobuilds/20180911T214502Z/install-amd64-minimal-20180911T214502Z.iso or you can check it in some mirror like leaseweb – http://mirror.leaseweb.com/gentoo/releases/amd64/autobuilds/current-install-amd64-minimal/install-amd64-minimal-20180911T214502Z.iso.

Our motherboard is Asus ROG Zenith Extreme motherboard using X399 chipset https://www.asus.com/th/Motherboards/ROG-ZENITH-EXTREME/ and you’ll see the BIOS options for it, but they do not differ much with the other motherboard boot options. Here also setup the network and start up an openssh server to manage our Gentoo Linux installation – (coming soon).

SCREENSHOT 1) Starting the machine

main menu
Start up

Keep on reading!