When compiling without external signer support, the resulted bench_bitcoin.exe
fails on Windows:
0>.\bench_bitcoin.exe -filter=AddrManSelectByNetwork
1Error: bad optional access
Steps to reproduce the failure:
- cross compiling on Ubuntu 22.04:
0$ make -j $(nproc) -C depends HOST=x86_64-w64-mingw32 NO_QT=1
1$ ./autogen.sh
2$ ./configure CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site --disable-external-signer
3$ make -j $(nproc)
- compiling natively on Windows:
Apply the diff as follows:
0--- a/build_msvc/bitcoin_config.h.in
1+++ b/build_msvc/bitcoin_config.h.in
2@@ -41,9 +41,6 @@
3 /* Define this symbol to enable ZMQ functions */
4 #define ENABLE_ZMQ 1
5
6-/* define if external signer support is enabled (requires Boost::Process) */
7-#define ENABLE_EXTERNAL_SIGNER /**/
8-
9 /* Define to 1 if you have the declaration of `be16toh', and to 0 if you
10 don't. */
11 #define HAVE_DECL_BE16TOH 0
Then
0>py -3 build_msvc\msvc-autogen.py
1>msbuild build_msvc\bitcoin.sln -property:Configuration=Release -verbosity:minimal
2>src\bench_bitcoin.exe -filter=AddrManSelectByNetwork
3Error: bad optional access
The failure does not manifest itself when running bench_bitcoin.exe
using Wine on Linux.