Gridcoin v5.4.1.0 on CentOS 8

Disclaimer

Please note that this guide may not be complete and should be used as a reference only. It is important to be familiar with the build process before proceeding. If you encounter any problems, consider joining the Gricoin Community Slack channels "#development" and "#packaging".
Use caution when running commands.
CentOS Linux is a reliable, predictable, manageable, and reproducible platform based on the sources of Red Hat Enterprise Linux (RHEL). The latest CentOS 8.x release comes with GCC 8.x and Boost C++ Libraries 1.66.
To build Gridcoin Research v5.4.1.0, you will need GCC 8.x and Boost C++ Libraries 1.81.

Prerequisites

# yum config-manager --set-enabled PowerTools;
# yum install gcc gcc-c++ make automake autoconf;
# yum install git wget libtool libzip-devel libdb-devel libdb-cxx-devel openssl-devel libcurl-devel;

Boost C++ Libraries

Install the C++ source libraries, cross platform build system for C++ projects and the Boost C++ headers and shared development libraries.

# wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz;
# tar -xzf boost_1_81_*;
# cd boost_1_81_0;
# ./bootstrap.sh --prefix=/opt/boost-1.81;
# ./b2 install --prefix=/opt/boost-1.81 --with=all;
# echo "/opt/boost-1.81/lib" > /etc/ld.so.conf.d/boost-1.81.conf;
# ldconfig;

Gridcoin Research Daemon

Build and install the Gridcoin Research from source configured with "--with-boost".

# git clone https://github.com/gridcoin-community/Gridcoin-Research.git;
# cd Gridcoin-Research/;
# git pull; git checkout master;
# ./autogen.sh;
# ./configure --without-gui --without-miniupnpc --with-incompatible-bdb --with-boost=/opt/boost-1.81 --disable-tests --disable-bench --disable-dependency-tracking;
# make;

Print shared object dependencies.

# ldd ./src/gridcoinresearchd;
  linux-vdso64.so.1 (0x00007fff7f3e0000)
  libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fff7ead0000)
  libboost_system.so.1.81.0 => /opt/boost-1.81/lib/libboost_system.so.1.81.0 (0x00007fff7eaa0000)
  libboost_filesystem.so.1.81.0 => /opt/boost-1.81/lib/libboost_filesystem.so.1.81.0 (0x00007fff7ea50000)
  libboost_iostreams.so.1.81.0 => /opt/boost-1.81/lib/libboost_iostreams.so.1.81.0 (0x00007fff7ea10000)
  libboost_thread.so.1.81.0 => /opt/boost-1.81/lib/libboost_thread.so.1.81.0 (0x00007fff7e9d0000)
  libpthread.so.0 => /lib64/glibc-hwcaps/power9/libpthread-2.28.so (0x00007fff7e980000)
  libdb_cxx-5.3.so => /lib64/libdb_cxx-5.3.so (0x00007fff7e710000)
  libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007fff7e640000)
  libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007fff7e2c0000)
  libzip.so.5 => /lib64/libzip.so.5 (0x00007fff7e270000)
  librt.so.1 => /lib64/glibc-hwcaps/power9/librt-2.28.so (0x00007fff7e240000)
  libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fff7e010000)
  libm.so.6 => /lib64/glibc-hwcaps/power9/libm-2.28.so (0x00007fff7dee0000)
  libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fff7dea0000)
  libc.so.6 => /lib64/glibc-hwcaps/power9/libc-2.28.so (0x00007fff7dc90000)
  libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007fff7dc40000)
  libidn2.so.0 => /lib64/libidn2.so.0 (0x00007fff7dc00000)
  libssh.so.4 => /lib64/libssh.so.4 (0x00007fff7db40000)
  libpsl.so.5 => /lib64/libpsl.so.5 (0x00007fff7db00000)
  libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007fff7da70000)
  libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007fff7d930000)
  libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fff7d8f0000)
  libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fff7d8c0000)
  libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007fff7d830000)
  liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007fff7d7f0000)
  libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007fff7d7c0000)
  libz.so.1 => /lib64/libz.so.1 (0x00007fff7d780000)
  libboost_atomic.so.1.81.0 => /opt/boost-1.81/lib/libboost_atomic.so.1.81.0 (0x00007fff7d750000)
  /lib64/ld64.so.2 (0x00007fff7f400000)
  libdl.so.2 => /lib64/libdl.so.2 (0x00007fff7d720000)
  libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fff7d6e0000)
  libunistring.so.2 => /lib64/libunistring.so.2 (0x00007fff7d530000)
  libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007fff7d4f0000)
  libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fff7d4c0000)
  libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fff7d480000)
  libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fff7d430000)
  libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007fff7d3f0000)
  libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fff7d390000)
  libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fff7d340000)
  libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007fff7d290000)