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:
./autogen.sh &&./configure --with-gui=yes && make clean && make -j 4
./autogen.sh && ./configure CC=clang CXX=clang++ --without-bdb --with-gui=yes && make clean && make -j 4
./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
wallet/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>')
return wallet;
^~~~~~
/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
unique_ptr(unique_ptr&& __u) _NOEXCEPT
^
./util/result.h:47:14: note: passing argument to parameter 'obj' here
Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
^
wallet/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>')
return wallet;
^~~~~~
/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
unique_ptr(unique_ptr&& __u) _NOEXCEPT
^
./util/result.h:47:14: note: passing argument to parameter 'obj' here
Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
^
wallet/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>')
return wallet;
^~~~~~
/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
unique_ptr(unique_ptr&& __u) _NOEXCEPT
^
./util/result.h:47:14: note: passing argument to parameter 'obj' here
Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
^
wallet/interfaces.cpp:651:16: error: call to implicitly-deleted copy constructor of 'util::Result<interfaces::WalletMigrationResult>::T' (aka 'interfaces::WalletMigrationResult')
return out;
^~~
./interfaces/wallet.h:435:29: note: copy constructor of 'WalletMigrationResult' is implicitly deleted because field 'wallet' has a deleted copy constructor
std::unique_ptr<Wallet> wallet;
^
/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
unique_ptr(unique_ptr&& __u) _NOEXCEPT
^
./util/result.h:47:14: note: passing argument to parameter 'obj' here
Result(T obj) : m_variant{std::in_place_index_t<1>{}, std::move(obj)} {}
^
4 errors generated.
make[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