Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
When building on macOS Sequoia 15.5, at about the 89% mark, I run into the following compilation issue:
In file included from […]/bitcoin/src/rpc/mempool.cpp:6: In file included from […]/bitcoin/src/rpc/blockchain.h:9: In file included from […]/bitcoin/src/core_io.h:9: In file included from […]/bitcoin/src/util/result.h:9: In file included from […]/bitcoin/src/util/translation.h:8: In file included from […]/bitcoin/src/tinyformat.h:144: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm:1778: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h:28: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:19: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h:304:9: error: no matching function for call to 'construct_at' _VSTD::construct_at(__p, _VSTD::forward<_Args>(__args)...); ^~~~~~~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:897:17: note: expanded from macro '_VSTD'
define _VSTD std
^/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:919:21: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<Entry>>::construct<Entry, COutPoint, const UniValue &, UniValue, void, void>' requested here __alloc_traits::construct(this->__alloc(), std::__to_address(__tx.__pos_), ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:1678:9: note: in instantiation of function template specialization 'std::vector<Entry>::__construct_one_at_end<COutPoint, const UniValue &, UniValue>' requested here __construct_one_at_end(std::forward<_Args>(__args)...); ^ […]/bitcoin/src/rpc/mempool.cpp:975:26: note: in instantiation of function template specialization 'std::vector<Entry>::emplace_back<COutPoint, const UniValue &, UniValue>' requested here prevouts.emplace_back(COutPoint{txid, uint32_t(nOutput)}, o, UniValue{}); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h:39:38: note: candidate template ignored: substitution failure [with _Tp = Entry, _Args = <COutPoint, const UniValue &, UniValue>]: no matching constructor for initialization of 'Entry' _LIBCPP_HIDE_FROM_ABI constexpr _Tp* construct_at(_Tp* __location, _Args&&... __args) { ^ 1 error generated. make[2]: *** [src/CMakeFiles/bitcoin_node.dir/rpc/mempool.cpp.o] Error 1
I can run a binary search to see where the issue first appears. I will note that I haven't run into this with any of the 0.30.x versions.
Expected behaviour
The build should be able to complete all the way.
Steps to reproduce
I cannot be certain if a different version of macOS or Xcode would still produce this issue, so these steps to reproduce might prove too imprecise, in which case feel free to close the issue. My build configuration is this:
-DENABLE_WALLET=OFF -DBUILD_TESTS=OFF -DBUILD_GUI=OFF -DBUILD_WALLET_TOOL=OFF -DENABLE_EXTERNAL_SIGNER=OFF -DENABLE_IPC=OFF
macOS: 15.5 (24F74)
Xcode 15.4 Build version 15F31d
Relevant log output
In file included from […]/bitcoin/src/rpc/mempool.cpp:6: In file included from […]/bitcoin/src/rpc/blockchain.h:9: In file included from […]/bitcoin/src/core_io.h:9: In file included from […]/bitcoin/src/util/result.h:9: In file included from […]/bitcoin/src/util/translation.h:8: In file included from […]/bitcoin/src/tinyformat.h:144: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm:1778: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/inplace_merge.h:28: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:19: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator_traits.h:304:9: error: no matching function for call to 'construct_at' _VSTD::construct_at(__p, _VSTD::forward<_Args>(__args)...); ^~~~~~~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:897:17: note: expanded from macro '_VSTD'
define _VSTD std
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:919:21: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<Entry>>::construct<Entry, COutPoint, const UniValue &, UniValue, void, void>' requested here __alloc_traits::construct(this->__alloc(), std::__to_address(__tx.__pos_), ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:1678:9: note: in instantiation of function template specialization 'std::vector<Entry>::__construct_one_at_end<COutPoint, const UniValue &, UniValue>' requested here __construct_one_at_end(std::forward<_Args>(__args)...); ^ […]/bitcoin/src/rpc/mempool.cpp:975:26: note: in instantiation of function template specialization 'std::vector<Entry>::emplace_back<COutPoint, const UniValue &, UniValue>' requested here prevouts.emplace_back(COutPoint{txid, uint32_t(nOutput)}, o, UniValue{}); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h:39:38: note: candidate template ignored: substitution failure [with _Tp = Entry, _Args = <COutPoint, const UniValue &, UniValue>]: no matching constructor for initialization of 'Entry' _LIBCPP_HIDE_FROM_ABI constexpr _Tp* construct_at(_Tp* __location, _Args&&... __args) { ^ 1 error generated. make[2]: *** [src/CMakeFiles/bitcoin_node.dir/rpc/mempool.cpp.o] Error 1 make[1]: *** [src/CMakeFiles/bitcoin_node.dir/all] Error 2 make: *** [all] Error 2
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
v0.31.0
Operating system and version
macOS 15.5 (24F74)
Machine specifications
It's a compilation issue, so I very strongly doubt the CPU, disk type, and network connectivity are pertinent.