Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
I can’t build master on macOS
Expected behaviour
Builds fine when I checkout tag v26.0. I don’t remember getting this error in the past
Steps to reproduce
The build commands I’ve tried result in this error:
0./autogen.sh &&./configure --with-gui=yes && make clean && make -j 4
0./autogen.sh && ./configure CC=clang CXX=clang++ --without-bdb --with-gui=yes && make clean && make -j 4
0./autogen.sh && ./configure CC=clang CXX=clang++ --with-incompatible-bdb --enable-suppress-external-warnings --with-gui=yes && make clean && make -j 4
Relevant log output
 0wallet/interfaces.cpp:611:20: error: call to implicitly-deleted copy constructor of 'util::Result<std::unique_ptr<interfaces::Wallet>>::T' (aka 'std::unique_ptr<interfaces::Wallet>')
 1            return wallet;
 2                   ^~~~~~
 3/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:1584:3: note: copy constructor is implicitly deleted because 'unique_ptr<interfaces::Wallet>' has a user-declared move constructor
 4  unique_ptr(unique_ptr&& __u) _NOEXCEPT
 5  ^
 6./util/result.h:47:14: note: passing argument to parameter 'obj' here
 7    Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
 8             ^
 9wallet/interfaces.cpp:625:20: error: call to implicitly-deleted copy constructor of 'util::Result<std::unique_ptr<interfaces::Wallet>>::T' (aka 'std::unique_ptr<interfaces::Wallet>')
10            return wallet;
11                   ^~~~~~
12/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:1584:3: note: copy constructor is implicitly deleted because 'unique_ptr<interfaces::Wallet>' has a user-declared move constructor
13  unique_ptr(unique_ptr&& __u) _NOEXCEPT
14  ^
15./util/result.h:47:14: note: passing argument to parameter 'obj' here
16    Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
17             ^
18wallet/interfaces.cpp:636:20: error: call to implicitly-deleted copy constructor of 'util::Result<std::unique_ptr<interfaces::Wallet>>::T' (aka 'std::unique_ptr<interfaces::Wallet>')
19            return wallet;
20                   ^~~~~~
21/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:1584:3: note: copy constructor is implicitly deleted because 'unique_ptr<interfaces::Wallet>' has a user-declared move constructor
22  unique_ptr(unique_ptr&& __u) _NOEXCEPT
23  ^
24./util/result.h:47:14: note: passing argument to parameter 'obj' here
25    Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
26             ^
27wallet/interfaces.cpp:651:16: error: call to implicitly-deleted copy constructor of 'util::Result<interfaces::WalletMigrationResult>::T' (aka 'interfaces::WalletMigrationResult')
28        return out;
29               ^~~
30./interfaces/wallet.h:435:29: note: copy constructor of 'WalletMigrationResult' is implicitly deleted because field 'wallet' has a deleted copy constructor
31    std::unique_ptr<Wallet> wallet;
32                            ^
33/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:1584:3: note: copy constructor is implicitly deleted because 'unique_ptr<interfaces::Wallet>' has a user-declared move constructor
34  unique_ptr(unique_ptr&& __u) _NOEXCEPT
35  ^
36./util/result.h:47:14: note: passing argument to parameter 'obj' here
37    Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
38             ^
394 errors generated.
40make[2]: *** [wallet/libbitcoin_wallet_a-interfaces.o] Error 1
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
master@03752444cd
Operating system and version
macOS Monterey 12.0.1
Machine specifications
No response