From 24959ec1f7cd4527c6b30faf2c4e1c016035b855 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 28 Apr 2026 05:00:21 +0000 Subject: [PATCH] Document Ubuntu 24 daemon build --- README.md | 4 ++- configure.ac | 6 +---- contrib/build-linux.sh | 20 +++++++-------- doc/build-ubuntu-24.md | 56 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 16 deletions(-) create mode 100644 doc/build-ubuntu-24.md diff --git a/README.md b/README.md index 1657a54e..da7b94a8 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,8 @@ To see configuration options: ./configure --help ``` +For a current Ubuntu daemon build, see `doc/build-ubuntu-24.md`. + --- ## Running Tests @@ -114,4 +116,4 @@ Refer to scripts under `contrib/` for additional CI or functional test flows. ## License -See the `COPYING` file for license details. \ No newline at end of file +See the `COPYING` file for license details. diff --git a/configure.ac b/configure.ac index 655f34b3..6e51a29d 100644 --- a/configure.ac +++ b/configure.ac @@ -1102,11 +1102,7 @@ AC_CHECK_DECLS([EVP_MD_CTX_new],,,[AC_INCLUDES_DEFAULT CXXFLAGS="${save_CXXFLAGS}" AC_CHECK_LIB([crypto],[RAND_egd],[],[ - AC_ARG_WITH([unsupported-ssl], - [AS_HELP_STRING([--with-unsupported-ssl],[Build with system SSL (default is no; DANGEROUS; NOT SUPPORTED; You should use OpenSSL 1.0)])], - [AC_MSG_WARN([Detected unsupported SSL version: This is NOT supported, and may break consensus compatibility!])], - [AC_MSG_ERROR([Detected unsupported SSL version: This is NOT supported, and may break consensus compatibility!])] - ) + AC_MSG_WARN([RAND_egd is unavailable in this OpenSSL version; continuing with the modern libcrypto RNG API]) ]) dnl univalue check diff --git a/contrib/build-linux.sh b/contrib/build-linux.sh index 1e01f679..35a7917e 100755 --- a/contrib/build-linux.sh +++ b/contrib/build-linux.sh @@ -2,20 +2,20 @@ set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -HOST="x86_64-pc-linux-gnu" -DEP="$ROOT/depends/$HOST" +JOBS="${JOBS:-1}" cd "$ROOT" -make -C depends -j"$(nproc)" NO_QT=1 -make -C depends NO_QT=1 install - ./autogen.sh -CONFIG_SITE="$DEP/share/config.site" \ -./configure --build="$HOST" --host="$HOST" \ - --prefix="$DEP" \ - --disable-tests --disable-bench +./configure \ + --without-gui \ + --disable-tests \ + --disable-bench \ + --disable-zmq \ + --with-miniupnpc=no \ + --with-incompatible-bdb \ + CXXFLAGS="${CXXFLAGS:--O0 -g0 --param ggc-min-expand=1 --param ggc-min-heapsize=32768}" -make -j"$(nproc)" +make -j"$JOBS" echo "Build complete." diff --git a/doc/build-ubuntu-24.md b/doc/build-ubuntu-24.md new file mode 100644 index 00000000..4488cb2e --- /dev/null +++ b/doc/build-ubuntu-24.md @@ -0,0 +1,56 @@ +Copyright (c) 2026 Agrarian Developers + +Ubuntu 24.04 Daemon Build Notes +================================ + +These notes describe the native daemon build path tested against current Ubuntu +24.04 system packages. + +Recommended host size +--------------------- + +Use at least 2 GB RAM for a reliable build. A 512 MB host with 2 GB swap can +configure successfully, but compilation is extremely slow and may time out while +building large translation units. + +Packages +-------- + +Install the native build dependencies: + + sudo apt-get update + sudo apt-get install -y \ + build-essential pkg-config autoconf automake libtool bsdmainutils \ + libboost-all-dev libevent-dev libgmp-dev libssl-dev \ + libdb5.3-dev libdb5.3++-dev + +Daemon-only build +----------------- + +For the pool daemon, the GUI, tests, bench, ZMQ, and UPnP can be disabled: + + ./autogen.sh + ./configure \ + --without-gui \ + --disable-tests \ + --disable-bench \ + --disable-zmq \ + --with-miniupnpc=no \ + --with-incompatible-bdb \ + CXXFLAGS="-O0 -g0 --param ggc-min-expand=1 --param ggc-min-heapsize=32768" + make -j1 + +OpenSSL 3 +--------- + +Ubuntu 24.04 ships OpenSSL 3. Agrarian no longer rejects this only because +`RAND_egd` is unavailable. Some deprecated OpenSSL SHA calls still warn during +compilation; those warnings are expected until the hashing helper code is +modernized. + +Berkeley DB +----------- + +Ubuntu 24.04 provides Berkeley DB 5.3. Wallet builds with BDB 5.3 are not +portable back to BDB 4.8 wallet environments, so only use wallets created by this +build with compatible BDB 5.3 builds.