Redfinition errors when building for clang-tidy #239

issue pinheadmz opened this issue on January 13, 2026
  1. pinheadmz commented at 3:10 PM on January 13, 2026: none

    Configure command with compiler and platform info:

    <details> <summary>

    cmake -B build_tidy -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

    </summary>

    -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
    
    Configuring secp256k1 subtree...
    -- Could NOT find Valgrind (missing: Valgrind_INCLUDE_DIR Valgrind_WORKS) 
    
    
    secp256k1 configure summary
    ===========================
    Build artifacts:
      library type ........................ Static
    Optional modules:
      ECDH ................................ OFF
      ECDSA pubkey recovery ............... ON
      extrakeys ........................... ON
      schnorrsig .......................... ON
      musig ............................... ON
      ElligatorSwift ...................... ON
    Parameters:
      ecmult window size .................. 15
      ecmult gen table size ............... 86 KiB
    Optional features:
      assembly ............................ OFF
      external callbacks .................. OFF
    Optional binaries:
      benchmark ........................... OFF
      noverify_tests ...................... ON
      tests ............................... ON
      exhaustive tests .................... ON
      ctime_tests ......................... OFF
      examples ............................ OFF
    
    Cross compiling ....................... FALSE
    API visibility attributes ............. ON
    Valgrind .............................. OFF
    Preprocessor defined macros ........... ECMULT_WINDOW_SIZE=15 COMB_BLOCKS=43 COMB_TEETH=6
    C compiler ............................ AppleClang 16.0.0.16000026, /usr/bin/clang
    CFLAGS ................................ 
    Compile options ....................... -Wall -pedantic -Wcast-align -Wconditional-uninitialized -Wextra -Wnested-externs -Wno-long-long -Wno-overlength-strings -Wno-unused-function -Wreserved-identifier -Wshadow -Wstrict-prototypes -Wundef
    Build type:
     - CMAKE_BUILD_TYPE ................... RelWithDebInfo
     - CFLAGS ............................. -O2 -g 
     - LDFLAGS for executables ............ 
     - LDFLAGS for shared libraries ....... 
    
    
    
    Configure summary
    =================
    Executables:
      bitcoin ............................. ON
      bitcoind ............................ ON
      bitcoin-node (multiprocess) ......... ON
      bitcoin-qt (GUI) .................... OFF
      bitcoin-gui (GUI, multiprocess) ..... OFF
      bitcoin-cli ......................... ON
      bitcoin-tx .......................... ON
      bitcoin-util ........................ ON
      bitcoin-wallet ...................... ON
      bitcoin-chainstate (experimental) ... OFF
      libbitcoinkernel (experimental) ..... OFF
      kernel-test (experimental) .......... OFF
    Optional features:
      wallet support ...................... ON
      external signer ..................... ON
      ZeroMQ .............................. OFF
      IPC ................................. ON
      USDT tracing ........................ OFF
      QR code (GUI) ....................... OFF
      DBus (GUI) .......................... OFF
    Tests:
      test_bitcoin ........................ ON
      test_bitcoin-qt ..................... OFF
      bench_bitcoin ....................... OFF
      fuzz binary ......................... OFF
    
    Cross compiling ....................... FALSE
    C++ compiler .......................... AppleClang 16.0.0.16000026, /usr/bin/clang++
    CMAKE_BUILD_TYPE ...................... RelWithDebInfo
    Preprocessor defined macros ........... OBJC_OLD_DISPATCH_PROTOTYPES=0
    C++ compiler flags .................... -O2 -g -std=c++20 -fPIC -fdebug-prefix-map=/Users/matthewzipkin/Desktop/work/bitcoin/src=. -fmacro-prefix-map=/Users/matthewzipkin/Desktop/work/bitcoin/src=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -mbranch-protection=bti -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wno-unused-parameter
    Linker flags .......................... -O2 -g -Wl,-dead_strip -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -fstack-protector-all -Wl,-fixup_chains -fPIE -Xlinker -pie
    
    NOTE: The summary above may not exactly match the final applied build flags
          if any additional CMAKE_* or environment variables have been modified.
          To see the exact flags applied, build with the --verbose option.
    
    Treat compiler warnings as errors ..... OFF
    Use ccache for compiling .............. ON
    
    
    -- Configuring done (1.1s)
    You have changed variables that require your cache to be deleted.
    Configure will be re-run and you may have to reset some variables.
    The following variables have changed:
    CMAKE_CXX_COMPILER= clang++
    CMAKE_CXX_COMPILER= clang++
    CMAKE_C_COMPILER= clang
    CMAKE_C_COMPILER= clang
    
    -- The CXX compiler identification is Clang 21.1.5
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /opt/homebrew/Cellar/llvm/21.1.5/bin/clang++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Setting build type to "RelWithDebInfo" as none was specified
    -- Performing Test CXX_SUPPORTS__WERROR
    -- Performing Test CXX_SUPPORTS__WERROR - Success
    -- Performing Test CXX_SUPPORTS__G3
    -- Performing Test CXX_SUPPORTS__G3 - Success
    -- Performing Test LINKER_SUPPORTS__G3
    -- Performing Test LINKER_SUPPORTS__G3 - Success
    -- Performing Test CXX_SUPPORTS__FTRAPV
    -- Performing Test CXX_SUPPORTS__FTRAPV - Success
    -- Performing Test LINKER_SUPPORTS__FTRAPV
    -- Performing Test LINKER_SUPPORTS__FTRAPV - Success
    -- Found SQLite3: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk/usr/include (found suitable version "3.43.2", minimum required is "3.7.17")
    -- Performing Test LINKER_SUPPORTS__WL__FATAL_WARNINGS
    -- Performing Test LINKER_SUPPORTS__WL__FATAL_WARNINGS - Success
    -- Performing Test LINKER_SUPPORTS__WL__DEAD_STRIP
    -- Performing Test LINKER_SUPPORTS__WL__DEAD_STRIP - Success
    -- Performing Test LINKER_SUPPORTS__WL__DEAD_STRIP_DYLIBS
    -- Performing Test LINKER_SUPPORTS__WL__DEAD_STRIP_DYLIBS - Success
    -- Performing Test LINKER_SUPPORTS__WL__HEADERPAD_MAX_INSTALL_NAMES
    -- Performing Test LINKER_SUPPORTS__WL__HEADERPAD_MAX_INSTALL_NAMES - Success
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    -- Found Threads: TRUE
    -- Performing Test NO_DIAGNOSTICS_BOOST_NO_CXX98_FUNCTION_BASE
    -- Performing Test NO_DIAGNOSTICS_BOOST_NO_CXX98_FUNCTION_BASE - Failed
    -- Found PkgConfig: /opt/homebrew/bin/pkg-config (found version "2.4.3")
    -- Found Libevent: /opt/homebrew/Cellar/libevent/2.1.12_1/lib (found suitable version "2.1.12-stable", minimum required is "2.1.8")
    -- Performing Test HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR
    -- Performing Test HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR - Failed
    -- Looking for O_CLOEXEC
    -- Looking for O_CLOEXEC - found
    -- Looking for fdatasync
    -- Looking for fdatasync - not found
    -- Looking for fork
    -- Looking for fork - found
    -- Looking for pipe2
    -- Looking for pipe2 - not found
    -- Looking for setsid
    -- Looking for setsid - found
    -- Performing Test IFADDR_LINKS_WITHOUT_LIBSOCKET
    -- Performing Test IFADDR_LINKS_WITHOUT_LIBSOCKET - Success
    -- Performing Test STD_ATOMIC_LINKS_WITHOUT_LIBATOMIC
    -- Performing Test STD_ATOMIC_LINKS_WITHOUT_LIBATOMIC - Success
    -- Looking for std::system
    -- Looking for std::system - found
    -- Looking for ::_wsystem
    -- Looking for ::_wsystem - not found
    -- Performing Test STRERROR_R_CHAR_P
    -- Performing Test STRERROR_R_CHAR_P - Failed
    -- Looking for malloc_info
    -- Looking for malloc_info - not found
    -- Performing Test HAVE_MALLOPT_ARENA_MAX
    -- Performing Test HAVE_MALLOPT_ARENA_MAX - Failed
    -- Performing Test HAVE_POSIX_FALLOCATE
    -- Performing Test HAVE_POSIX_FALLOCATE - Failed
    -- Performing Test HAVE_STRONG_GETAUXVAL
    -- Performing Test HAVE_STRONG_GETAUXVAL - Failed
    -- Performing Test HAVE_SOCKADDR_UN
    -- Performing Test HAVE_SOCKADDR_UN - Success
    -- Performing Test HAVE_GETRANDOM
    -- Performing Test HAVE_GETRANDOM - Failed
    -- Performing Test HAVE_GETENTROPY_RAND
    -- Performing Test HAVE_GETENTROPY_RAND - Success
    -- Performing Test HAVE_SYSCTL
    -- Performing Test HAVE_SYSCTL - Success
    -- Performing Test HAVE_SYSCTL_ARND
    -- Performing Test HAVE_SYSCTL_ARND - Failed
    -- Performing Test HAVE_SSE41
    -- Performing Test HAVE_SSE41 - Failed
    -- Performing Test HAVE_AVX2
    -- Performing Test HAVE_AVX2 - Failed
    -- Performing Test HAVE_X86_SHANI
    -- Performing Test HAVE_X86_SHANI - Failed
    -- Performing Test HAVE_ARM_SHANI
    -- Performing Test HAVE_ARM_SHANI - Success
    -- Performing Test CXX_SUPPORTS__WALL
    -- Performing Test CXX_SUPPORTS__WALL - Success
    -- Performing Test CXX_SUPPORTS__WEXTRA
    -- Performing Test CXX_SUPPORTS__WEXTRA - Success
    -- Performing Test CXX_SUPPORTS__WGNU
    -- Performing Test CXX_SUPPORTS__WGNU - Success
    -- Performing Test CXX_SUPPORTS__WFORMAT__WFORMAT_SECURITY
    -- Performing Test CXX_SUPPORTS__WFORMAT__WFORMAT_SECURITY - Success
    -- Performing Test CXX_SUPPORTS__WVLA
    -- Performing Test CXX_SUPPORTS__WVLA - Success
    -- Performing Test CXX_SUPPORTS__WSHADOW_FIELD
    -- Performing Test CXX_SUPPORTS__WSHADOW_FIELD - Success
    -- Performing Test CXX_SUPPORTS__WTHREAD_SAFETY
    -- Performing Test CXX_SUPPORTS__WTHREAD_SAFETY - Success
    -- Performing Test CXX_SUPPORTS__WTHREAD_SAFETY_POINTER
    -- Performing Test CXX_SUPPORTS__WTHREAD_SAFETY_POINTER - Success
    -- Performing Test CXX_SUPPORTS__WLOOP_ANALYSIS
    -- Performing Test CXX_SUPPORTS__WLOOP_ANALYSIS - Success
    -- Performing Test CXX_SUPPORTS__WREDUNDANT_DECLS
    -- Performing Test CXX_SUPPORTS__WREDUNDANT_DECLS - Success
    -- Performing Test CXX_SUPPORTS__WUNUSED_MEMBER_FUNCTION
    -- Performing Test CXX_SUPPORTS__WUNUSED_MEMBER_FUNCTION - Success
    -- Performing Test CXX_SUPPORTS__WDATE_TIME
    -- Performing Test CXX_SUPPORTS__WDATE_TIME - Success
    -- Performing Test CXX_SUPPORTS__WCONDITIONAL_UNINITIALIZED
    -- Performing Test CXX_SUPPORTS__WCONDITIONAL_UNINITIALIZED - Success
    -- Performing Test CXX_SUPPORTS__WDUPLICATED_BRANCHES
    -- Performing Test CXX_SUPPORTS__WDUPLICATED_BRANCHES - Failed
    -- Performing Test CXX_SUPPORTS__WDUPLICATED_COND
    -- Performing Test CXX_SUPPORTS__WDUPLICATED_COND - Failed
    -- Performing Test CXX_SUPPORTS__WLOGICAL_OP
    -- Performing Test CXX_SUPPORTS__WLOGICAL_OP - Failed
    -- Performing Test CXX_SUPPORTS__WOVERLOADED_VIRTUAL
    -- Performing Test CXX_SUPPORTS__WOVERLOADED_VIRTUAL - Success
    -- Performing Test CXX_SUPPORTS__WSUGGEST_OVERRIDE
    -- Performing Test CXX_SUPPORTS__WSUGGEST_OVERRIDE - Success
    -- Performing Test CXX_SUPPORTS__WIMPLICIT_FALLTHROUGH
    -- Performing Test CXX_SUPPORTS__WIMPLICIT_FALLTHROUGH - Success
    -- Performing Test CXX_SUPPORTS__WUNREACHABLE_CODE
    -- Performing Test CXX_SUPPORTS__WUNREACHABLE_CODE - Success
    -- Performing Test CXX_SUPPORTS__WDOCUMENTATION
    -- Performing Test CXX_SUPPORTS__WDOCUMENTATION - Success
    -- Performing Test CXX_SUPPORTS__WSELF_ASSIGN
    -- Performing Test CXX_SUPPORTS__WSELF_ASSIGN - Success
    -- Performing Test CXX_SUPPORTS__WBIDI_CHARS_ANY
    -- Performing Test CXX_SUPPORTS__WBIDI_CHARS_ANY - Failed
    -- Performing Test CXX_SUPPORTS__WUNDEF
    -- Performing Test CXX_SUPPORTS__WUNDEF - Success
    -- Performing Test CXX_SUPPORTS__WLEADING_WHITESPACE_SPACES
    -- Performing Test CXX_SUPPORTS__WLEADING_WHITESPACE_SPACES - Failed
    -- Performing Test CXX_SUPPORTS__WTRAILING_WHITESPACE_ANY
    -- Performing Test CXX_SUPPORTS__WTRAILING_WHITESPACE_ANY - Failed
    -- Performing Test CXX_SUPPORTS__WUNUSED_PARAMETER
    -- Performing Test CXX_SUPPORTS__WUNUSED_PARAMETER - Success
    -- Performing Test CXX_SUPPORTS__FNO_EXTENDED_IDENTIFIERS
    -- Performing Test CXX_SUPPORTS__FNO_EXTENDED_IDENTIFIERS - Failed
    -- Performing Test CXX_SUPPORTS__FDEBUG_PREFIX_MAP_A_B
    -- Performing Test CXX_SUPPORTS__FDEBUG_PREFIX_MAP_A_B - Success
    -- Performing Test CXX_SUPPORTS__FMACRO_PREFIX_MAP_A_B
    -- Performing Test CXX_SUPPORTS__FMACRO_PREFIX_MAP_A_B - Success
    -- Performing Test CXX_SUPPORTS__FSTACK_REUSE_NONE
    -- Performing Test CXX_SUPPORTS__FSTACK_REUSE_NONE - Failed
    -- Performing Test CXX_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08
    -- Performing Test CXX_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08 - Success
    -- Performing Test LINKER_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08
    -- Performing Test LINKER_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08 - Success
    -- Performing Test CXX_SUPPORTS__WSTACK_PROTECTOR
    -- Performing Test CXX_SUPPORTS__WSTACK_PROTECTOR - Success
    -- Performing Test CXX_SUPPORTS__FSTACK_PROTECTOR_ALL
    -- Performing Test CXX_SUPPORTS__FSTACK_PROTECTOR_ALL - Success
    -- Performing Test LINKER_SUPPORTS__FSTACK_PROTECTOR_ALL
    -- Performing Test LINKER_SUPPORTS__FSTACK_PROTECTOR_ALL - Success
    -- Performing Test CXX_SUPPORTS__FCF_PROTECTION_FULL
    -- Performing Test CXX_SUPPORTS__FCF_PROTECTION_FULL - Failed
    -- Performing Test CXX_SUPPORTS__FSTACK_CLASH_PROTECTION
    -- Performing Test CXX_SUPPORTS__FSTACK_CLASH_PROTECTION - Failed
    -- Performing Test CXX_SUPPORTS__MBRANCH_PROTECTION_BTI
    -- Performing Test CXX_SUPPORTS__MBRANCH_PROTECTION_BTI - Success
    -- Performing Test LINKER_SUPPORTS__WL___ENABLE_RELOC_SECTION
    -- Performing Test LINKER_SUPPORTS__WL___ENABLE_RELOC_SECTION - Failed
    -- Performing Test LINKER_SUPPORTS__WL___DYNAMICBASE
    -- Performing Test LINKER_SUPPORTS__WL___DYNAMICBASE - Failed
    -- Performing Test LINKER_SUPPORTS__WL___NXCOMPAT
    -- Performing Test LINKER_SUPPORTS__WL___NXCOMPAT - Failed
    -- Performing Test LINKER_SUPPORTS__WL___HIGH_ENTROPY_VA
    -- Performing Test LINKER_SUPPORTS__WL___HIGH_ENTROPY_VA - Failed
    -- Performing Test LINKER_SUPPORTS__WL__Z_RELRO
    -- Performing Test LINKER_SUPPORTS__WL__Z_RELRO - Failed
    -- Performing Test LINKER_SUPPORTS__WL__Z_NOW
    -- Performing Test LINKER_SUPPORTS__WL__Z_NOW - Failed
    -- Performing Test LINKER_SUPPORTS__WL__Z_SEPARATE_CODE
    -- Performing Test LINKER_SUPPORTS__WL__Z_SEPARATE_CODE - Failed
    -- Performing Test LINKER_SUPPORTS__WL__FIXUP_CHAINS
    -- Performing Test LINKER_SUPPORTS__WL__FIXUP_CHAINS - Success
    -- Found Python3: /opt/homebrew/bin/python3 (found suitable version "3.14.0", minimum required is "3.10") found components: Interpreter
    -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
    -- Performing Test HAVE_BUILTIN_PREFETCH
    -- Performing Test HAVE_BUILTIN_PREFETCH - Success
    -- Performing Test HAVE_MM_PREFETCH
    -- Performing Test HAVE_MM_PREFETCH - Failed
    -- Performing Test HAVE_SSE42
    -- Performing Test HAVE_SSE42 - Failed
    -- Performing Test HAVE_ARM64_CRC32C
    -- Performing Test HAVE_ARM64_CRC32C - Success
    -- Looking for F_FULLFSYNC
    -- Looking for F_FULLFSYNC - found
    -- Performing Test HAVE_CLMUL
    -- Performing Test HAVE_CLMUL - Failed
    -- Performing Test HAVE_PTHREAD_GETNAME_NP
    -- Performing Test HAVE_PTHREAD_GETNAME_NP - Success
    -- Performing Test HAVE_PTHREAD_THREADID_NP
    -- Performing Test HAVE_PTHREAD_THREADID_NP - Success
    -- Performing Test HAVE_PTHREAD_GETTHREADID_NP
    -- Performing Test HAVE_PTHREAD_GETTHREADID_NP - Failed
    -- The C compiler identification is Clang 21.1.5
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /opt/homebrew/Cellar/llvm/21.1.5/bin/clang - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    
    Configuring secp256k1 subtree...
    -- Performing Test HAVE_X86_64_ASM
    -- Performing Test HAVE_X86_64_ASM - Failed
    -- Could NOT find Valgrind (missing: Valgrind_INCLUDE_DIR Valgrind_WORKS) 
    -- Performing Test C_SUPPORTS__WALL
    -- Performing Test C_SUPPORTS__WALL - Success
    -- Performing Test C_SUPPORTS__PEDANTIC
    -- Performing Test C_SUPPORTS__PEDANTIC - Success
    -- Performing Test C_SUPPORTS__WCAST_ALIGN
    -- Performing Test C_SUPPORTS__WCAST_ALIGN - Success
    -- Performing Test C_SUPPORTS__WCAST_ALIGN_STRICT
    -- Performing Test C_SUPPORTS__WCAST_ALIGN_STRICT - Failed
    -- Performing Test C_SUPPORTS__WCONDITIONAL_UNINITIALIZED
    -- Performing Test C_SUPPORTS__WCONDITIONAL_UNINITIALIZED - Success
    -- Performing Test C_SUPPORTS__WEXTRA
    -- Performing Test C_SUPPORTS__WEXTRA - Success
    -- Performing Test C_SUPPORTS__WNESTED_EXTERNS
    -- Performing Test C_SUPPORTS__WNESTED_EXTERNS - Success
    -- Performing Test C_SUPPORTS__WNO_LONG_LONG
    -- Performing Test C_SUPPORTS__WNO_LONG_LONG - Success
    -- Performing Test C_SUPPORTS__WNO_OVERLENGTH_STRINGS
    -- Performing Test C_SUPPORTS__WNO_OVERLENGTH_STRINGS - Success
    -- Performing Test C_SUPPORTS__WNO_UNUSED_FUNCTION
    -- Performing Test C_SUPPORTS__WNO_UNUSED_FUNCTION - Success
    -- Performing Test C_SUPPORTS__WRESERVED_IDENTIFIER
    -- Performing Test C_SUPPORTS__WRESERVED_IDENTIFIER - Success
    -- Performing Test C_SUPPORTS__WSHADOW
    -- Performing Test C_SUPPORTS__WSHADOW - Success
    -- Performing Test C_SUPPORTS__WSTRICT_PROTOTYPES
    -- Performing Test C_SUPPORTS__WSTRICT_PROTOTYPES - Success
    -- Performing Test C_SUPPORTS__WUNDEF
    -- Performing Test C_SUPPORTS__WUNDEF - Success
    -- Looking for sys/types.h
    -- Looking for sys/types.h - found
    -- Looking for sys/wait.h
    -- Looking for sys/wait.h - found
    -- Looking for unistd.h
    -- Looking for unistd.h - found
    
    
    secp256k1 configure summary
    ===========================
    Build artifacts:
      library type ........................ Static
    Optional modules:
      ECDH ................................ OFF
      ECDSA pubkey recovery ............... ON
      extrakeys ........................... ON
      schnorrsig .......................... ON
      musig ............................... ON
      ElligatorSwift ...................... ON
    Parameters:
      ecmult window size .................. 15
      ecmult gen table size ............... 86 KiB
    Optional features:
      assembly ............................ OFF
      external callbacks .................. OFF
    Optional binaries:
      benchmark ........................... OFF
      noverify_tests ...................... ON
      tests ............................... ON
      exhaustive tests .................... ON
      ctime_tests ......................... OFF
      examples ............................ OFF
    
    Cross compiling ....................... FALSE
    API visibility attributes ............. ON
    Valgrind .............................. OFF
    Preprocessor defined macros ........... ECMULT_WINDOW_SIZE=15 COMB_BLOCKS=43 COMB_TEETH=6
    C compiler ............................ Clang 21.1.5, /opt/homebrew/Cellar/llvm/21.1.5/bin/clang
    CFLAGS ................................ 
    Compile options ....................... -Wall -pedantic -Wcast-align -Wconditional-uninitialized -Wextra -Wnested-externs -Wno-long-long -Wno-overlength-strings -Wno-unused-function -Wreserved-identifier -Wshadow -Wstrict-prototypes -Wundef
    Build type:
     - CMAKE_BUILD_TYPE ................... RelWithDebInfo
     - CFLAGS ............................. -O2 -g 
     - LDFLAGS for executables ............ 
     - LDFLAGS for shared libraries ....... 
    
    
    
    Configure summary
    =================
    Executables:
      bitcoin ............................. ON
      bitcoind ............................ ON
      bitcoin-node (multiprocess) ......... ON
      bitcoin-qt (GUI) .................... OFF
      bitcoin-gui (GUI, multiprocess) ..... OFF
      bitcoin-cli ......................... ON
      bitcoin-tx .......................... ON
      bitcoin-util ........................ ON
      bitcoin-wallet ...................... ON
      bitcoin-chainstate (experimental) ... OFF
      libbitcoinkernel (experimental) ..... OFF
      kernel-test (experimental) .......... OFF
    Optional features:
      wallet support ...................... ON
      external signer ..................... ON
      ZeroMQ .............................. OFF
      IPC ................................. ON
      USDT tracing ........................ OFF
      QR code (GUI) ....................... OFF
      DBus (GUI) .......................... OFF
    Tests:
      test_bitcoin ........................ ON
      test_bitcoin-qt ..................... OFF
      bench_bitcoin ....................... OFF
      fuzz binary ......................... OFF
    
    Cross compiling ....................... FALSE
    C++ compiler .......................... Clang 21.1.5, /opt/homebrew/Cellar/llvm/21.1.5/bin/clang++
    CMAKE_BUILD_TYPE ...................... RelWithDebInfo
    Preprocessor defined macros ........... OBJC_OLD_DISPATCH_PROTOTYPES=0
    C++ compiler flags .................... -O2 -g -std=c++20 -fPIC -fdebug-prefix-map=/Users/matthewzipkin/Desktop/work/bitcoin/src=. -fmacro-prefix-map=/Users/matthewzipkin/Desktop/work/bitcoin/src=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -mbranch-protection=bti -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wthread-safety-pointer -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wno-unused-parameter
    Linker flags .......................... -O2 -g -Wl,-dead_strip -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -fstack-protector-all -Wl,-fixup_chains -fPIE -Xlinker -pie
    
    NOTE: The summary above may not exactly match the final applied build flags
          if any additional CMAKE_* or environment variables have been modified.
          To see the exact flags applied, build with the --verbose option.
    
    Treat compiler warnings as errors ..... OFF
    Use ccache for compiling .............. ON
    
    
    -- Configuring done (16.6s)
    -- Generating done (0.3s)
    -- Build files have been written to: /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy
    

    </details>

    Build command, trimmed to the compiler errors:

    <details> <summary>

    cmake --build build_tidy -j 4

    </summary>

    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:43:8: error: redefinition of 'FooInterface'
       43 | struct FooInterface {
          |        ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:43:8: note: previous definition is here
       43 | struct FooInterface {
          |        ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:72:22: error: redefinition of 'AddParams'
       72 | struct FooInterface::AddParams {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:72:22: note: previous definition is here
       72 | struct FooInterface::AddParams {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:87:22: error: redefinition of 'AddResults'
       87 | struct FooInterface::AddResults {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:87:22: note: previous definition is here
       87 | struct FooInterface::AddResults {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:102:22: error: redefinition of 'PassOutPointParams'
      102 | struct FooInterface::PassOutPointParams {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:102:22: note: previous definition is here
      102 | struct FooInterface::PassOutPointParams {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:117:22: error: redefinition of 'PassOutPointResults'
      117 | struct FooInterface::PassOutPointResults {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:117:22: note: previous definition is here
      117 | struct FooInterface::PassOutPointResults {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:132:22: error: redefinition of 'PassUniValueParams'
      132 | struct FooInterface::PassUniValueParams {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:132:22: note: previous definition is here
      132 | struct FooInterface::PassUniValueParams {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:147:22: error: redefinition of 'PassUniValueResults'
      147 | struct FooInterface::PassUniValueResults {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:147:22: note: previous definition is here
      147 | struct FooInterface::PassUniValueResults {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:162:22: error: redefinition of 'PassTransactionParams'
      162 | struct FooInterface::PassTransactionParams {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:162:22: note: previous definition is here
      162 | struct FooInterface::PassTransactionParams {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:177:22: error: redefinition of 'PassTransactionResults'
      177 | struct FooInterface::PassTransactionResults {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:177:22: note: previous definition is here
      177 | struct FooInterface::PassTransactionResults {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:192:22: error: redefinition of 'PassVectorCharParams'
      192 | struct FooInterface::PassVectorCharParams {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:192:22: note: previous definition is here
      192 | struct FooInterface::PassVectorCharParams {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:207:22: error: redefinition of 'PassVectorCharResults'
      207 | struct FooInterface::PassVectorCharResults {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:207:22: note: previous definition is here
      207 | struct FooInterface::PassVectorCharResults {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:222:22: error: redefinition of 'PassScriptParams'
      222 | struct FooInterface::PassScriptParams {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:222:22: note: previous definition is here
      222 | struct FooInterface::PassScriptParams {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:237:22: error: redefinition of 'PassScriptResults'
      237 | struct FooInterface::PassScriptResults {
          |                      ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:237:22: note: previous definition is here
      237 | struct FooInterface::PassScriptResults {
          |                      ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:255:21: error: redefinition of 'Client'
      255 | class FooInterface::Client
          |                     ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:255:21: note: previous definition is here
      255 | class FooInterface::Client
          |                     ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:290:21: error: redefinition of 'Server'
      290 | class FooInterface::Server
          |                     ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:290:21: note: previous definition is here
      290 | class FooInterface::Server
          |                     ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:337:32: error: redefinition of 'Reader'
      337 | class FooInterface::AddParams::Reader {
          |                                ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:337:32: note: previous definition is here
      337 | class FooInterface::AddParams::Reader {
          |                                ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:370:32: error: redefinition of 'Builder'
      370 | class FooInterface::AddParams::Builder {
          |                                ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:370:32: note: previous definition is here
      370 | class FooInterface::AddParams::Builder {
          |                                ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:402:32: error: redefinition of 'Pipeline'
      402 | class FooInterface::AddParams::Pipeline {
          |                                ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:402:32: note: previous definition is here
      402 | class FooInterface::AddParams::Pipeline {
          |                                ^
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/src/ipc/test/ipc_test.cpp:12:
    In file included from /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.proxy.h:6:
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/test/ipc_test.capnp.h:418:33: error: redefinition of 'Reader'
      418 | class FooInterface::AddResults::Reader {
          |                                 ^
    /Users/matthewzipkin/Desktop/work/bitcoin/build_tidy/src/ipc/test/ipc_test.capnp.h:418:33: note: previous definition is here
      418 | class FooInterface::AddResults::Reader {
          |                                 ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    

    </details>

  2. hebasto commented at 5:55 PM on January 13, 2026: member

    From the provided logs:

    You have changed variables that require your cache to be deleted.
    Configure will be re-run and you may have to reset some variables.
    

    Have you tried building using a clean / fresh build directory?

  3. pinheadmz commented at 6:12 PM on January 13, 2026: none

    Certainly a clean build directory (build_tidy) but ill try without ccache next

  4. pinheadmz commented at 6:59 PM on January 13, 2026: none

    Fixed by deleting ccache directory. thanks!

  5. pinheadmz closed this on Jan 13, 2026

Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/libmultiprocess. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-20 17:30 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me