Building Gridcoin on Ubuntu

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".
Think before you run!
Ubuntu Linux is a open-source operating system based on the Linux kernel. It is known for its user-friendly interface and community-driven development. Ubuntu 22.04 comes with GCC 11.x and Boost C++ Libraries 1.74.

Prerequisites

# apt -y install gcc g++ make automake autoconf pkg-config;
# apt -y install git wget libtool libboost-all-dev libzip-dev libssl-dev libcurl4-openssl-dev;

Gridcoin Research Daemon

Build and install the Gridcoin Research from source.

# 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 --disable-tests --disable-bench --disable-dependency-tracking;
# make;

Print shared object dependencies.

# ldd ./src/gridcoinresearchd;
	linux-vdso.so.1 (0x0000ffff83307000)
	libcurl.so.4 => /lib/aarch64-linux-gnu/libcurl.so.4 (0x0000ffff82900000)
	libboost_filesystem.so.1.74.0 => /lib/aarch64-linux-gnu/libboost_filesystem.so.1.74.0 (0x0000ffff828d0000)
	libboost_iostreams.so.1.74.0 => /lib/aarch64-linux-gnu/libboost_iostreams.so.1.74.0 (0x0000ffff828a0000)
	libboost_thread.so.1.74.0 => /lib/aarch64-linux-gnu/libboost_thread.so.1.74.0 (0x0000ffff82860000)
	libssl.so.3 => /lib/aarch64-linux-gnu/libssl.so.3 (0x0000ffff827b0000)
	libcrypto.so.3 => /lib/aarch64-linux-gnu/libcrypto.so.3 (0x0000ffff823b0000)
	libzip.so.4 => /lib/aarch64-linux-gnu/libzip.so.4 (0x0000ffff82380000)
	libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff82150000)
	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff820b0000)
	libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff82080000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff81ed0000)
	/lib/ld-linux-aarch64.so.1 (0x0000ffff832ce000)
	libnghttp2.so.14 => /lib/aarch64-linux-gnu/libnghttp2.so.14 (0x0000ffff81e90000)
	libidn2.so.0 => /lib/aarch64-linux-gnu/libidn2.so.0 (0x0000ffff81e60000)
	librtmp.so.1 => /lib/aarch64-linux-gnu/librtmp.so.1 (0x0000ffff81e30000)
	libssh.so.4 => /lib/aarch64-linux-gnu/libssh.so.4 (0x0000ffff81db0000)
	libpsl.so.5 => /lib/aarch64-linux-gnu/libpsl.so.5 (0x0000ffff81d80000)
	libgssapi_krb5.so.2 => /lib/aarch64-linux-gnu/libgssapi_krb5.so.2 (0x0000ffff81d20000)
	libldap-2.5.so.0 => /lib/aarch64-linux-gnu/libldap-2.5.so.0 (0x0000ffff81cb0000)
	liblber-2.5.so.0 => /lib/aarch64-linux-gnu/liblber-2.5.so.0 (0x0000ffff81c90000)
	libzstd.so.1 => /lib/aarch64-linux-gnu/libzstd.so.1 (0x0000ffff81bc0000)
	libbrotlidec.so.1 => /lib/aarch64-linux-gnu/libbrotlidec.so.1 (0x0000ffff81ba0000)
	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff81b70000)
	libbz2.so.1.0 => /lib/aarch64-linux-gnu/libbz2.so.1.0 (0x0000ffff81b40000)
	liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000ffff81b00000)
	libunistring.so.2 => /lib/aarch64-linux-gnu/libunistring.so.2 (0x0000ffff81940000)
	libgnutls.so.30 => /lib/aarch64-linux-gnu/libgnutls.so.30 (0x0000ffff81740000)
	libhogweed.so.6 => /lib/aarch64-linux-gnu/libhogweed.so.6 (0x0000ffff816e0000)
	libnettle.so.8 => /lib/aarch64-linux-gnu/libnettle.so.8 (0x0000ffff81680000)
	libgmp.so.10 => /lib/aarch64-linux-gnu/libgmp.so.10 (0x0000ffff815f0000)
	libkrb5.so.3 => /lib/aarch64-linux-gnu/libkrb5.so.3 (0x0000ffff81510000)
	libk5crypto.so.3 => /lib/aarch64-linux-gnu/libk5crypto.so.3 (0x0000ffff814d0000)
	libcom_err.so.2 => /lib/aarch64-linux-gnu/libcom_err.so.2 (0x0000ffff814b0000)
	libkrb5support.so.0 => /lib/aarch64-linux-gnu/libkrb5support.so.0 (0x0000ffff81490000)
	libsasl2.so.2 => /lib/aarch64-linux-gnu/libsasl2.so.2 (0x0000ffff81460000)
	libbrotlicommon.so.1 => /lib/aarch64-linux-gnu/libbrotlicommon.so.1 (0x0000ffff81420000)
	libp11-kit.so.0 => /lib/aarch64-linux-gnu/libp11-kit.so.0 (0x0000ffff812d0000)
	libtasn1.so.6 => /lib/aarch64-linux-gnu/libtasn1.so.6 (0x0000ffff812a0000)
	libkeyutils.so.1 => /lib/aarch64-linux-gnu/libkeyutils.so.1 (0x0000ffff81280000)
	libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff81250000)
	libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000ffff81230000)
</div> </section>