Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
6b78d6f
Merge #16546: External signer support - Wallet Box edition
laanwj Feb 23, 2021
341fbdf
fixup alignment in configure.ac
knst May 8, 2024
122a833
Merge #21285: wallet: fix doc typo in signer option
fanquake Feb 23, 2021
12ed4c1
Merge #21292: build, doc: Fix configure script output indentation and…
Feb 24, 2021
c1ad570
Merge #21339: build: Make AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER]) un…
fanquake Mar 3, 2021
a471c8e
Merge #21417: Misc external signer improvement and HWI 2 support
fanquake Mar 17, 2021
16d447e
Merge #21467: Move external signer out of wallet module
fanquake Apr 13, 2021
4bcb791
Merge #21666: Miscellaneous external signer changes
fanquake Apr 14, 2021
4db6407
Merge bitcoin-core/gui#4: UI external signer support (e.g. hardware w…
meshcollider Jun 9, 2021
29998c3
Merge bitcoin/bitcoin#22173: wallet: Do not load external signers wal…
meshcollider Jun 9, 2021
1838972
fixup SendCoinsDialog::sendButtonClicked
knst May 13, 2024
ac68653
Merge bitcoin/bitcoin#21935: Enable external signer support by defaul…
fanquake Jun 17, 2021
cef7b50
fixup #16546 - with/use external signers
knst May 13, 2024
fe15e73
Merge bitcoin/bitcoin#22348: build: Fix cross build for Windows with …
fanquake Jul 1, 2021
5f0be29
Merge bitcoin/bitcoin#22335: doc: recommend `--disable-external-signe…
laanwj Jul 12, 2021
49479f5
fixup wallet.cpp - no type for SPK
knst May 13, 2024
8e17a49
fixup external signer rpc
knst May 13, 2024
3ca7f30
Merge bitcoin-core/gui#396: Ensure external signer option remains dis…
hebasto Aug 6, 2021
761a8a2
Merge bitcoin/bitcoin#22789: external_signer: improve fingerprint mat…
laanwj Oct 22, 2021
c7fb7d9
Merge bitcoin/bitcoin#23004: multiprocess: add interfaces::ExternalSi…
laanwj Nov 15, 2021
ac8e651
Merge bitcoin/bitcoin#23628: Check descriptors returned by external s…
fanquake Dec 10, 2021
7f8f9e1
Merge bitcoin/bitcoin#24307: RPC: Return external_signer in getwallet…
achow101 Feb 11, 2022
718240d
Merge bitcoin/bitcoin#24401: wallet: Add external-signer-support spec…
achow101 Feb 23, 2022
7f511bd
Merge bitcoin/bitcoin#25019: parse external signer master fp as bytes…
achow101 May 16, 2022
27c17b2
Merge bitcoin/bitcoin#25770: build: Fix help string for `--enable-ext…
fanquake Aug 4, 2022
bd6edbe
dashify-1 external_signer.cpp
knst May 13, 2024
f512845
dashify external-signer
knst May 13, 2024
a7ad9fd
dashify src/qt/forms/optionsdialog.ui
knst May 13, 2024
6ccfa07
dashify src/wallet/external_signer_scriptpubkeyman.cpp
knst May 13, 2024
1c67e5a
fix spaces in src/wallet/rpcwallet.cpp
knst May 13, 2024
671b6e0
dashify src/wallet/rpcwallet.cpp
knst May 13, 2024
9f683f4
fixup configure.ac wrong fi / if seq
knst Feb 28, 2025
34c4e53
Merge bitcoin/bitcoin#22513: rpc: Allow walletprocesspsbt to sign wit…
laanwj Nov 29, 2021
197ce58
fixup rpc args
knst Feb 28, 2025
0cebc5d
fixup no internal in external signer
knst Feb 28, 2025
f90aa12
fixup 18115 - missing changes (removed nodiscard attribute)
knst Feb 28, 2025
cfc0ca7
fixup internal - no internal for constructor
knst Feb 28, 2025
c4e9460
dashify rpc_signer.py
knst Mar 3, 2025
7118611
fix: dashify and adopt functional test wallet_signer.py
knst Mar 3, 2025
fc5eb15
Merge bitcoin-core/gui#441: Add Create Unsigned button to SendConfirm…
hebasto Jan 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_arm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ export RUN_FUNCTIONAL_TESTS=false
export GOAL="install"
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
# This could be removed once the ABI change warning does not show up by default
export BITCOIN_CONFIG="--enable-reduce-exports --enable-suppress-external-warnings CXXFLAGS=-Wno-psabi --with-boost-process"
export BITCOIN_CONFIG="--enable-reduce-exports --enable-suppress-external-warnings CXXFLAGS=-Wno-psabi"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export XCODE_BUILD_ID=15A240d
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export GOAL="all deploy"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner --with-boost-process"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_mac_host.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export CONTAINER_NAME=ci_macos
export HOST=x86_64-apple-darwin
export PIP_PACKAGES="zmq lief"
export GOAL="install"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner --with-boost-process"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --disable-miner"
export CI_OS_NAME="macos"
export NO_DEPENDS=1
export OSX_SDK=""
Expand Down
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_asan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ export TEST_RUNNER_EXTRA="--timeout-factor=4" # Increase timeout because saniti
export FUNCTIONAL_TESTS_CONFIG="--exclude wallet_multiwallet.py" # Temporarily suppress ASan heap-use-after-free (see issue #14163)
export RUN_BENCH=true
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++ --with-boost-process"
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=address,integer,undefined CC=clang CXX=clang++"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_fuzz.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export RUN_FUZZ_TESTS=true
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq --disable-ccache --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer --enable-suppress-external-warnings CC='clang-18 -ftrivial-auto-var-init=pattern' CXX='clang++-18 -ftrivial-auto-var-init=pattern' --with-boost-process"
export BITCOIN_CONFIG="--enable-zmq --disable-ccache --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer --enable-suppress-external-warnings CC='clang-18 -ftrivial-auto-var-init=pattern' CXX='clang++-18 -ftrivial-auto-var-init=pattern'"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_multiprocess.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export DEP_OPTS="MULTIPROCESS=1 CC=clang-18 CXX=clang++-18"
export RUN_TIDY=true
export GOAL="install"
export TEST_RUNNER_EXTRA="--v2transport"
export BITCOIN_CONFIG="--with-boost-process --enable-debug CC=clang-18 CXX=clang++-18" # Use clang to avoid OOM
export BITCOIN_CONFIG="--enable-debug CC=clang-18 CXX=clang++-18" # Use clang to avoid OOM
# Additional flags for RUN_TIDY
export BITCOIN_CONFIG="${BITCOIN_CONFIG} --disable-hardening CFLAGS='-O0 -g0' CXXFLAGS='-O0 -g0'"
export BITCOIND=dash-node # Used in functional tests
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_nowallet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ export HOST=x86_64-pc-linux-gnu
export PACKAGES="python3-zmq"
export DEP_OPTS="NO_WALLET=1 CC=gcc-14 CXX=g++-14"
export GOAL="install"
export BITCOIN_CONFIG="--enable-reduce-exports --with-boost-process CC=gcc-14 CXX=g++-14"
export BITCOIN_CONFIG="--enable-reduce-exports CC=gcc-14 CXX=g++-14"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_qt5.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ export RUN_UNIT_TESTS_SEQUENTIAL="true"
export RUN_UNIT_TESTS="false"
export GOAL="install"
export PREVIOUS_RELEASES_TO_DOWNLOAD="v0.15.0.0 v0.16.1.1 v0.17.0.3 v18.2.2 v19.3.0 v20.0.1"
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports --disable-fuzz-binary LDFLAGS=-static-libstdc++ --with-boost-process"
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports --disable-fuzz-binary LDFLAGS=-static-libstdc++"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_tsan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ export DEP_OPTS="CC=clang-18 CXX='clang++-18 -stdlib=libc++'"
export TEST_RUNNER_EXTRA="--extended --exclude feature_pruning,feature_dbcrash,wallet_multiwallet.py" # Temporarily suppress ASan heap-use-after-free (see issue #14163)
export TEST_RUNNER_EXTRA="${TEST_RUNNER_EXTRA} --timeout-factor=4" # Increase timeout because sanitizers slow down
export GOAL="install"
export BITCOIN_CONFIG="--enable-zmq --with-gui=no --with-sanitizers=thread CC=clang-18 CXX=clang++-18 CXXFLAGS='-g' --with-boost-process"
export BITCOIN_CONFIG="--enable-zmq --with-gui=no --with-sanitizers=thread CC=clang-18 CXX=clang++-18 CXXFLAGS='-g'"
export CPPFLAGS="-DARENA_DEBUG -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION"
export PYZMQ=true
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_s390x.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ export RUN_UNIT_TESTS=true
export TEST_RUNNER_EXTRA="--exclude rpc_bind,feature_bind_extra" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
export RUN_FUNCTIONAL_TESTS=true
export GOAL="install"
export BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests --with-boost-process" # GUI tests disabled for now, see https://github.com/bitcoin/bitcoin/issues/23730
export BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests" # GUI tests disabled for now, see https://github.com/bitcoin/bitcoin/issues/23730
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_win64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ export PACKAGES="python3 nsis g++-mingw-w64-x86-64-posix wine-binfmt wine64 wine
export RUN_FUNCTIONAL_TESTS=false
export RUN_SECURITY_TESTS="false"
export GOAL="deploy"
export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --disable-miner --without-boost-process"
export BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --disable-miner --disable-external-signer"
export DIRECT_WINE_EXEC_TESTS=true
128 changes: 68 additions & 60 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -326,10 +326,10 @@ AC_ARG_ENABLE([werror],
[enable_werror=$enableval],
[enable_werror=no])

AC_ARG_WITH([boost-process],
[AS_HELP_STRING([--with-boost-process],[Opt in to using Boost Process (default is no)])],
[boost_process=$withval],
[boost_process=no])
AC_ARG_ENABLE([external-signer],
[AS_HELP_STRING([--enable-external-signer],[compile external signer support (default is auto, requires Boost::Process)])],
[use_external_signer=$enableval],
[use_external_signer=yes])

AC_LANG_PUSH([C++])

Expand Down Expand Up @@ -971,7 +971,7 @@ if test x$use_hardening != xno; then

dnl -fcf-protection used with Clang 7 causes ld to emit warnings:
dnl ld: error: ... <corrupt x86 feature size: 0x8>
dnl Use CHECK_LINK_FLAG & --fatal-warnings to ensure we wont use the flag in this case.
dnl Use CHECK_LINK_FLAG & --fatal-warnings to ensure we won't use the flag in this case.
AX_CHECK_LINK_FLAG([-fcf-protection=full],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fcf-protection=full"],, [[$LDFLAG_WERROR]])

case $host in
Expand Down Expand Up @@ -1322,6 +1322,7 @@ if test "x$enable_fuzz" = "xyes"; then
bitcoin_enable_qt_dbus=no
enable_wallet=no
use_bench=no
use_external_signer=no
use_upnp=no
use_natpmp=no
use_zmq=no
Expand Down Expand Up @@ -1450,44 +1451,51 @@ if test "x$use_natpmp" != xno; then
fi

if test x$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononononono; then
use_boost=no
use_boost=no
else
use_boost=yes
use_boost=yes
fi

if test x$use_boost = xyes; then

dnl Check for Boost headers
AX_BOOST_BASE([1.73.0],[],[AC_MSG_ERROR([Boost is not available!])])
if test x$want_boost = xno; then
AC_MSG_ERROR([[only libdashconsensus can be built without boost]])
fi
dnl Check for Boost headers
AX_BOOST_BASE([1.73.0],[],[AC_MSG_ERROR([Boost is not available!])])
if test x$want_boost = xno; then
AC_MSG_ERROR([[only libdashconsensus can be built without boost]])
fi

dnl we don't use multi_index serialization
BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION"

dnl Prevent use of std::unary_function, which was removed in C++17,
dnl and will generate warnings with newer compilers for Boost
dnl older than 1.80.
dnl See: https://github.com/boostorg/config/pull/430.
AX_CHECK_PREPROC_FLAG([-DBOOST_NO_CXX98_FUNCTION_BASE], [BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_NO_CXX98_FUNCTION_BASE"], [], [$CXXFLAG_WERROR],
[AC_LANG_PROGRAM([[#include <boost/config.hpp>]])])

dnl Opt-in to Boost Process
if test "x$boost_process" != xno; then
AC_MSG_CHECKING(for Boost Process)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <boost/process.hpp>]],
[[ boost::process::child* child = new boost::process::child; delete child; ]])],
[ AC_MSG_RESULT(yes); AC_DEFINE([HAVE_BOOST_PROCESS],,[define if Boost::Process is available])],
[ AC_MSG_ERROR([Boost::Process is not available!])]
)
fi
dnl Prevent use of std::unary_function, which was removed in C++17,
dnl and will generate warnings with newer compilers for Boost
dnl older than 1.80.
dnl See: https://github.com/boostorg/config/pull/430.
AX_CHECK_PREPROC_FLAG([-DBOOST_NO_CXX98_FUNCTION_BASE], [BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_NO_CXX98_FUNCTION_BASE"], [], [$CXXFLAG_WERROR],
[AC_LANG_PROGRAM([[#include <boost/config.hpp>]])])

dnl Opt-in to Boost Process if external signer support is requested
if test "x$use_external_signer" != xno; then
AC_MSG_CHECKING(for Boost Process)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <boost/process.hpp>]],
[[ boost::process::child* child = new boost::process::child; delete child; ]])],
[ AC_MSG_RESULT(yes)
AC_DEFINE([ENABLE_EXTERNAL_SIGNER],,[define if external signer support is enabled])
],
[ AC_MSG_ERROR([Boost::Process is required for external signer support, but not available!])]
)
fi

if test x$suppress_external_warnings != xno; then
BOOST_CPPFLAGS=SUPPRESS_WARNINGS($BOOST_CPPFLAGS)
fi

if test x$suppress_external_warnings != xno; then
BOOST_CPPFLAGS=SUPPRESS_WARNINGS($BOOST_CPPFLAGS)
fi

BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB"
fi

AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER], [test "x$use_external_signer" = "xyes"])

dnl Check for reduced exports
if test x$use_reduce_exports = xyes; then
AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],[CORE_CXXFLAGS="$CORE_CXXFLAGS -fvisibility=hidden"],
Expand Down Expand Up @@ -1866,6 +1874,7 @@ AC_SUBST(ARM_SHANI_CXXFLAGS)
AC_SUBST(LIBTOOL_APP_LDFLAGS)
AC_SUBST(USE_SQLITE)
AC_SUBST(USE_BDB)
AC_SUBST(ENABLE_EXTERNAL_SIGNER)
AC_SUBST(USE_UPNP)
AC_SUBST(USE_QRCODE)
AC_SUBST(TESTDEFS)
Expand Down Expand Up @@ -1932,7 +1941,7 @@ esac

echo
echo "Options used to compile and link:"
echo " boost process = $with_boost_process"
echo " external signer = $use_external_signer"
echo " multiprocess = $build_multiprocess"
echo " with libs = $build_bitcoin_libs"
echo " with wallet = $enable_wallet"
Expand All @@ -1942,37 +1951,36 @@ if test "x$enable_wallet" != "xno"; then
fi
echo " with gui / qt = $bitcoin_enable_qt"
if test x$bitcoin_enable_qt != xno; then
echo " with qr = $use_qr"
echo " with qr = $use_qr"
fi
echo " with zmq = $use_zmq"
if test x$enable_fuzz = xno; then
echo " with test = $use_tests"
echo " with zmq = $use_zmq"
if test x$enable_fuzz == xno; then
echo " with test = $use_tests"
else
echo " with test = not building test_dash because fuzzing is enabled"
echo " with test = not building test_dash because fuzzing is enabled"
fi
echo " with fuzz binary = $enable_fuzz_binary"
echo " with bench = $use_bench"
echo " with upnp = $use_upnp"
echo " with natpmp = $use_natpmp"
echo " use asm = $use_asm"
echo " USDT tracing = $use_usdt"
echo " sanitizers = $use_sanitizers"
echo " debug enabled = $enable_debug"
echo " stacktraces enabled = $enable_stacktraces"
echo " crash hooks enabled = $enable_crashhooks"
echo " miner enabled = $enable_miner"
echo " gprof enabled = $enable_gprof"
echo " werror = $enable_werror"
echo " with fuzz binary= $enable_fuzz_binary"
echo " with bench = $use_bench"
echo " with upnp = $use_upnp"
echo " with natpmp = $use_natpmp"
echo " use asm = $use_asm"
echo " USDT tracing = $use_usdt"
echo " sanitizers = $use_sanitizers"
echo " debug enabled = $enable_debug"
echo " stacktraces = $enable_stacktraces"
echo " crash hooks = $enable_crashhooks"
echo " miner enabled = $enable_miner"
echo " gprof enabled = $enable_gprof"
echo " werror = $enable_werror"
echo
echo " target os = $host_os"
echo " build os = $build_os"
echo " target os = $TARGET_OS"
echo " build os = $build_os"
echo
echo " CC = $CC"
echo " CFLAGS = $DEBUG_CFLAGS $PTHREAD_CFLAGS $CFLAGS"
echo " CPPFLAGS = $DEBUG_CPPFLAGS $HARDENED_CPPFLAGS $CORE_CPPFLAGS $CPPFLAGS"
echo " CXX = $CXX"
echo " CXXFLAGS = $DEBUG_CXXFLAGS $HARDENED_CXXFLAGS $WARN_CXXFLAGS $NOWARN_CXXFLAGS $ERROR_CXXFLAGS $GPROF_CXXFLAGS $CORE_CXXFLAGS $CXXFLAGS"
echo " LDFLAGS = $PTHREAD_LIBS $HARDENED_LDFLAGS $GPROF_LDFLAGS $CORE_LDFLAGS $LDFLAGS"
echo " AR = $AR"
echo " ARFLAGS = $ARFLAGS"
echo " CC = $CC"
echo " CFLAGS = $PTHREAD_CFLAGS $CFLAGS"
echo " CPPFLAGS = $DEBUG_CPPFLAGS $HARDENED_CPPFLAGS $CPPFLAGS"
echo " CXX = $CXX"
echo " CXXFLAGS = $DEBUG_CXXFLAGS $HARDENED_CXXFLAGS $WARN_CXXFLAGS $NOWARN_CXXFLAGS $ERROR_CXXFLAGS $GPROF_CXXFLAGS $CXXFLAGS"
echo " LDFLAGS = $PTHREAD_LIBS $HARDENED_LDFLAGS $GPROF_LDFLAGS $LDFLAGS"
echo " ARFLAGS = $ARFLAGS"
echo
2 changes: 1 addition & 1 deletion doc/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -2093,7 +2093,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.

PREDEFINED = HAVE_BOOST_PROCESS
PREDEFINED = ENABLE_EXTERNAL_SIGNER

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
Expand Down
15 changes: 11 additions & 4 deletions doc/build-openbsd.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
OpenBSD build guide
======================
(updated for OpenBSD 6.7)
(updated for OpenBSD 6.9)

This guide describes how to build dashd, dash-qt, and command-line utilities on OpenBSD.

Expand Down Expand Up @@ -62,22 +62,29 @@ export AUTOMAKE_VERSION=1.15 # replace this with the automake version that you i
```
Make sure `BDB_PREFIX` is set to the appropriate path from the above steps.

Note that building with external signer support currently fails on OpenBSD,
hence you have to explicitely disable it by passing the parameter
`--disable-external-signer` to the configure script.
(Background: the feature requires the header-only library boost::process, which
is available on OpenBSD 6.9 via Boost 1.72.0, but contains certain system calls
and preprocessor defines like `waitid()` and `WEXITED` that are not available.)

To configure with wallet:
```bash
./configure --with-gui=no CC=cc CXX=c++ \
./configure --with-gui=no --disable-external-signer CC=cc CXX=c++ \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
BDB_CFLAGS="-I${BDB_PREFIX}/include" \
MAKE=gmake
```

To configure without wallet:
```bash
./configure --disable-wallet --with-gui=no CC=cc CC_FOR_BUILD=cc CXX=c++ MAKE=gmake
./configure --disable-wallet --with-gui=no --disable-external-signer CC=cc CC_FOR_BUILD=cc CXX=c++ MAKE=gmake
```

To configure with GUI:
```bash
./configure --with-gui=yes CC=cc CXX=c++ \
./configure --with-gui=yes --disable-external-signer CC=cc CXX=c++ \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
BDB_CFLAGS="-I${BDB_PREFIX}/include" \
MAKE=gmake
Expand Down
Loading
Loading