Open
Description
Am trying to deploy some ZEPH love on a Ubuntu 24.10 system:
$ uname -a
Linux MYBOX 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 13:41:20 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
I therefore begun my journey by deploying/executing all following commands (successfully):
sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make
sudo mv lib/libg* /usr/lib/
sudo apt update && sudo apt install build-essential cmake pkg-config libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libexpat1-dev libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler libudev-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev python3 ccache doxygen graphviz
git clone https://github.com/ZephyrProtocol/zephyr.git /path/to/install/
cd /path/to/install
git submodule update --init --force
And then the make -j 10
command errored out at 58%:
[...]
[ 58%] Built target obj_device_trezor
/path/to/install/src/rpc/core_rpc_server.cpp: In member function ‘bool cryptonote::core_rpc_server::on_get_base_fee_estimate(const cryptonote::COMMAND_RPC_GET_BASE_FEE_ESTIMATE::request&, cryptonote::COMMAND_RPC_GET_BASE_FEE_ESTIMATE::response&, epee::json_rpc::error&, const connection_context*)’:
/path/to/install/src/rpc/core_rpc_server.cpp:3156:19: warning: unused variable ‘version’ [-Wunused-variable]
3156 | const uint8_t version = m_core.get_blockchain_storage().get_current_hard_fork_version();
| ^~~~~~~
In file included from /usr/include/c++/14/bits/exception_ptr.h:37,
from /usr/include/c++/14/exception:166,
from /usr/include/c++/14/stdexcept:38,
from /usr/include/c++/14/system_error:43,
from /usr/include/c++/14/bits/ios_base.h:46,
from /usr/include/c++/14/bits/locale_facets.h:43,
from /usr/include/c++/14/locale:42,
from /usr/include/boost/filesystem/detail/path_traits.hpp:18,
from /usr/include/boost/filesystem/path.hpp:21,
from /usr/include/boost/filesystem.hpp:16,
from /path/to/install/src/rpc/core_rpc_server.cpp:33:
In member function ‘bool std::type_info::operator==(const std::type_info&) const’,
inlined from ‘bool std::type_info::operator!=(const std::type_info&) const’ at /usr/include/c++/14/typeinfo:114:25,
inlined from ‘epee::serialization::array_entry* epee::serialization::portable_storage::insert_first_value(const std::string&, t_value&&, hsection) [with t_value = long unsigned int]’ at /path/to/install/contrib/epee/include/storages/portable_storage.h:266:25:
/usr/include/c++/14/typeinfo:205:49: warning: ‘int __builtin_strcmp(const char*, const char*)’ of a string of length 282 and an array of size 53 evaluates to nonzero [-Wstring-compare]
205 | return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0;
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In member function ‘bool std::type_info::operator==(const std::type_info&) const’,
inlined from ‘bool std::type_info::operator!=(const std::type_info&) const’ at /usr/include/c++/14/typeinfo:114:25,
inlined from ‘epee::serialization::array_entry* epee::serialization::portable_storage::insert_first_value(const std::string&, t_value&&, hsection) [with t_value = int]’ at /path/to/install/contrib/epee/include/storages/portable_storage.h:266:25:
/usr/include/c++/14/typeinfo:205:49: warning: ‘int __builtin_strcmp(const char*, const char*)’ of a string of length 282 and an array of size 53 evaluates to nonzero [-Wstring-compare]
205 | return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0;
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
make[3]: Leaving directory '/path/to/install/build/Linux/master/release'
[ 58%] Built target obj_rpc
In file included from /path/to/install/src/device_trezor/trezor/transport.hpp:52,
from /path/to/install/src/device_trezor/trezor.hpp:36,
from /path/to/install/src/device_trezor/device_trezor.hpp:33,
from /path/to/install/src/wallet/wallet2.cpp:91:
/path/to/install/src/device_trezor/trezor/messages/messages-common.pb.h:772:5: warning: ‘hw::trezor::messages::common::ButtonRequest_ButtonRequestType__Deprecated_ButtonRequest_PassphraseType’ is deprecated [-Wdeprecated-declarations]
772 | ButtonRequest_ButtonRequestType__Deprecated_ButtonRequest_PassphraseType;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/device_trezor/trezor/messages/messages-common.pb.h:163:3: note: declared here
163 | ButtonRequest_ButtonRequestType__Deprecated_ButtonRequest_PassphraseType PROTOBUF_DEPRECATED_ENUM = 14,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /path/to/install/src/device_trezor/trezor/transport.hpp:53:
/path/to/install/src/device_trezor/trezor/messages/messages-management.pb.h:860:5: warning: ‘hw::trezor::messages::management::Features_Capability_Capability_Lisk’ is deprecated [-Wdeprecated-declarations]
860 | Features_Capability_Capability_Lisk;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/device_trezor/trezor/messages/messages-management.pb.h:225:3: note: declared here
225 | Features_Capability_Capability_Lisk PROTOBUF_DEPRECATED_ENUM = 8,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /path/to/install/src/wallet/wallet2.h:69,
from /path/to/install/src/wallet/wallet2.cpp:54:
/path/to/install/src/wallet/wallet2.cpp: In constructor ‘tools::gamma_picker::gamma_picker(const std::vector<long unsigned int>&, double, double)’:
/path/to/install/src/wallet/wallet2.cpp:1015:48: warning: comparison of integer expressions of different signedness: ‘std::vector<long unsigned int>::size_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare]
1015 | THROW_WALLET_EXCEPTION_IF(rct_offsets.size() < std::max(1, CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE), error::wallet_internal_error, "Bad offset calculation");
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/wallet/wallet_errors.h:996:7: note: in definition of macro ‘THROW_WALLET_EXCEPTION_IF’
996 | if (cond) \
| ^~~~
/path/to/install/src/wallet/wallet2.cpp: In member function ‘void tools::wallet2::process_parsed_blocks(uint64_t, const std::vector<cryptonote::block_complete_entry>&, const std::vector<parsed_block>&, uint64_t&, std::map<std::pair<long unsigned int, long unsigned int>, long unsigned int>*)’:
/path/to/install/src/wallet/wallet2.cpp:3338:11: warning: unused variable ‘hf_version_view_tags’ [-Wunused-variable]
3338 | uint8_t hf_version_view_tags = true;
| ^~~~~~~~~~~~~~~~~~~~
/path/to/install/src/wallet/wallet2.cpp: In member function ‘void tools::wallet2::refresh(bool, uint64_t, uint64_t&, bool&, bool, bool, uint64_t)’:
/path/to/install/src/wallet/wallet2.cpp:4064:8: warning: unused variable ‘refreshed’ [-Wunused-variable]
4064 | bool refreshed = false;
| ^~~~~~~~~
/path/to/install/src/wallet/wallet2.cpp: In member function ‘void tools::wallet2::load(const std::string&, const epee::wipeable_string&, const std::string&, const std::string&)’:
/path/to/install/src/wallet/wallet2.cpp:6286:53: warning: ‘bool boost::filesystem::copy_file(const path&, const path&, copy_option)’ is deprecated: Use copy_options instead of copy_option [-Wdeprecated-declarations]
6286 | if (use_fs) boost::filesystem::copy_file(m_wallet_file, m_wallet_file + ".unportable", boost::filesystem::copy_option::overwrite_if_exists);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /path/to/install/src/wallet/wallet2.cpp:44:
/usr/include/boost/filesystem/operations.hpp:473:13: note: declared here
473 | inline bool copy_file(path const& from, path const& to, // See ticket #2925
| ^~~~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6308:49: warning: ‘bool boost::filesystem::copy_file(const path&, const path&, copy_option)’ is deprecated: Use copy_options instead of copy_option [-Wdeprecated-declarations]
6308 | if (use_fs) boost::filesystem::copy_file(m_wallet_file, m_wallet_file + ".unportable", boost::filesystem::copy_option::overwrite_if_exists);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/filesystem/operations.hpp:473:13: note: declared here
473 | inline bool copy_file(path const& from, path const& to, // See ticket #2925
| ^~~~~~~~~
/path/to/install/src/wallet/wallet2.cpp: In member function ‘bool tools::wallet2::is_tx_spendtime_unlocked(uint64_t, uint64_t)’:
/path/to/install/src/wallet/wallet2.cpp:6941:14: warning: unused variable ‘v2height’ [-Wunused-variable]
6941 | uint64_t v2height = m_nettype == TESTNET ? 624634 : m_nettype == STAGENET ? 32000 : 1009827;
| ^~~~~~~~
/path/to/install/src/wallet/wallet2.cpp: In member function ‘void tools::wallet2::get_outs(std::vector<std::vector<std::tuple<long unsigned int, crypto::public_key, rct::key> > >&, const std::vector<long unsigned int>&, size_t, std::vector<long unsigned int>&, uint64_t&, std::unordered_set<crypto::public_key>&)’:
/path/to/install/src/wallet/wallet2.cpp:9230:16: warning: variable ‘num_outs’ set but not used [-Wunused-but-set-variable]
9230 | uint64_t num_outs = 0;
| ^~~~~~~~
In file included from /path/to/install/src/serialization/containers.h:56,
from /path/to/install/src/cryptonote_basic/cryptonote_basic.h:41,
from /path/to/install/src/cryptonote_basic/account.h:33,
from /path/to/install/src/wallet/wallet2.h:48:
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::public_key, crypto::signature>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::public_key, crypto::signature>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = std::unordered_map<crypto::public_key, crypto::signature>]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:12740:3: required from here
12740 | THROW_WALLET_EXCEPTION_IF(!::serialization::serialize(ar, subaddr_spendkeys), error::wallet_internal_error, "Failed to serialize proof");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::public_key, crypto::signature>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::public_key, crypto::signature>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::public_key; _U2 = crypto::signature; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::public_key; _T2 = crypto::signature]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::key_image, long unsigned int>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::key_image, long unsigned int>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1358:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::key_image, long unsigned int>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::key_image, long unsigned int>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::key_image; _U2 = long unsigned int; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::key_image; _T2 = long unsigned int]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::hash, tools::wallet2::unconfirmed_transfer_details>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::hash, tools::wallet2::unconfirmed_transfer_details>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1359:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::hash, tools::wallet2::unconfirmed_transfer_details>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::hash, tools::wallet2::unconfirmed_transfer_details>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::hash; _U2 = tools::wallet2::unconfirmed_transfer_details; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::hash; _T2 = tools::wallet2::unconfirmed_transfer_details]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_multimap<crypto::hash, tools::wallet2::payment_details>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_multimap<crypto::hash, tools::wallet2::payment_details>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1360:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::hash, tools::wallet2::payment_details>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::hash, tools::wallet2::payment_details>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::hash; _U2 = tools::wallet2::payment_details; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::hash; _T2 = tools::wallet2::payment_details]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::hash, epee::mlocked<tools::scrubbed<crypto::ec_scalar> > >]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::hash, epee::mlocked<tools::scrubbed<crypto::ec_scalar> > >; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1361:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::hash, epee::mlocked<tools::scrubbed<crypto::ec_scalar> > >’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::hash, epee::mlocked<tools::scrubbed<crypto::ec_scalar> > >&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::hash; _U2 = epee::mlocked<tools::scrubbed<crypto::ec_scalar> >; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::hash; _T2 = epee::mlocked<tools::scrubbed<crypto::ec_scalar> >]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::hash, tools::wallet2::confirmed_transfer_details>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::hash, tools::wallet2::confirmed_transfer_details>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1362:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::hash, tools::wallet2::confirmed_transfer_details>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::hash, tools::wallet2::confirmed_transfer_details>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::hash; _U2 = tools::wallet2::confirmed_transfer_details; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::hash; _T2 = tools::wallet2::confirmed_transfer_details]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::hash, std::__cxx11::basic_string<char> >]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::hash, std::__cxx11::basic_string<char> >; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1363:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::hash, std::__cxx11::basic_string<char> >’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::hash, std::__cxx11::basic_string<char> >&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::hash; _U2 = std::__cxx11::basic_string<char>; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::hash; _T2 = std::__cxx11::basic_string<char>]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_multimap<crypto::hash, tools::wallet2::pool_payment_details>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_multimap<crypto::hash, tools::wallet2::pool_payment_details>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1364:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::hash, tools::wallet2::pool_payment_details>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::hash, tools::wallet2::pool_payment_details>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::hash; _U2 = tools::wallet2::pool_payment_details; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::hash; _T2 = tools::wallet2::pool_payment_details]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::public_key, long unsigned int>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::public_key, long unsigned int>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1365:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::public_key, long unsigned int>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::public_key, long unsigned int>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::public_key; _U2 = long unsigned int; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::public_key; _T2 = long unsigned int]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::public_key, cryptonote::subaddress_index>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::public_key, cryptonote::subaddress_index>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1369:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::public_key, cryptonote::subaddress_index>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::public_key, cryptonote::subaddress_index>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::public_key; _U2 = cryptonote::subaddress_index; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::public_key; _T2 = cryptonote::subaddress_index]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::hash, std::vector<epee::mlocked<tools::scrubbed<crypto::ec_scalar> > > >]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::hash, std::vector<epee::mlocked<tools::scrubbed<crypto::ec_scalar> > > >; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1371:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::hash, std::vector<epee::mlocked<tools::scrubbed<crypto::ec_scalar> > > >’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::hash, std::vector<epee::mlocked<tools::scrubbed<crypto::ec_scalar> > > >&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::hash; _U2 = std::vector<epee::mlocked<tools::scrubbed<crypto::ec_scalar> > >; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::hash; _T2 = std::vector<epee::mlocked<tools::scrubbed<crypto::ec_scalar> > >]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1372:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >’ to ‘serializable_value_type&’ {aka ‘std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const std::__cxx11::basic_string<char>; _U2 = std::__cxx11::basic_string<char>; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = std::__cxx11::basic_string<char>; _T2 = std::__cxx11::basic_string<char>]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::unordered_map<crypto::public_key, crypto::key_image>]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::unordered_map<crypto::public_key, crypto::key_image>; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1378:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const crypto::public_key, crypto::key_image>’ to ‘serializable_value_type&’ {aka ‘std::pair<crypto::public_key, crypto::key_image>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const crypto::public_key; _U2 = crypto::key_image; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = crypto::public_key; _T2 = crypto::key_image]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/install/src/serialization/container.h: In instantiation of ‘bool do_serialize_container(Archive<true>&, C&) [with Archive = binary_archive; C = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >]’:
/path/to/install/src/serialization/containers.h:62:36: required from ‘std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> do_serialize(Archive&, Container&) [with Archive = binary_archive<true>; Container = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; std::enable_if_t<((bool)serialization::is_container<Container>::value), bool> = bool]’
62 | return ::do_serialize_container(ar, c);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/path/to/install/src/serialization/pair.h:50:26: required from ‘typename std::enable_if<(! use_pair_varint<T>()), bool>::type serialization::detail::serialize_pair_element(Archive&, T&) [with Archive = binary_archive<true>; T = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; typename std::enable_if<(! use_pair_varint<T>()), bool>::type = bool]’
50 | return do_serialize(ar, e);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/serialization/pair.h:97:54: required from ‘bool do_serialize(Archive<true>&, std::pair<_Tp1, _Tp2>&) [with Archive = binary_archive; F = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; S = std::vector<std::__cxx11::basic_string<char> >]’
97 | if(!::serialization::detail::serialize_pair_element(ar, p.first))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/path/to/install/src/wallet/wallet2.h:1373:7: required from ‘bool tools::wallet2::do_serialize_object(Archive<W>&) [with bool W = true; Archive = binary_archive]’
204 | bool r = do_serialize(ar, f); \
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.h:1352:5: required from ‘bool tools::wallet2::member_do_serialize(Archive<W>&) [with bool W = true; Archive = binary_archive]’
146 | bool r = do_serialize_object(ar); \
| ~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:83:31: required from ‘decltype ((v.member_do_serialize(ar), true)) do_serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2; decltype ((v.member_do_serialize(ar), true)) = bool]’
83 | return v.member_do_serialize(ar);
| ~~~~~~~~~~~~~~~~~~~~~^~~~
/path/to/install/src/serialization/serialization.h:339:26: required from ‘bool serialization::serialize(Archive&, T&) [with Archive = binary_archive<true>; T = tools::wallet2]’
339 | bool r = do_serialize(ar, v);
| ~~~~~~~~~~~~^~~~~~~
/path/to/install/src/wallet/wallet2.cpp:6571:36: required from here
6571 | if (!::serialization::serialize(ar, *this))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/path/to/install/src/serialization/container.h:128:66: warning: casting ‘std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >’ to ‘serializable_value_type&’ {aka ‘std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const std::__cxx11::basic_string<char>; _U2 = std::__cxx11::basic_string<char>; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = std::__cxx11::basic_string<char>; _T2 = std::__cxx11::basic_string<char>]’ [-Wcast-user-defined]
128 | if(!::serialization::detail::serialize_container_element(ar, (serializable_value_type&)*i))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/bits/exception_ptr.h:37,
from /usr/include/c++/14/exception:166,
from /usr/include/c++/14/stdexcept:38,
from /usr/include/c++/14/system_error:43,
from /usr/include/c++/14/bits/ios_base.h:46,
from /usr/include/c++/14/bits/locale_facets.h:43,
from /usr/include/c++/14/locale:42,
from /usr/include/boost/format.hpp:23,
from /path/to/install/src/wallet/wallet2.cpp:35:
In member function ‘bool std::type_info::operator==(const std::type_info&) const’,
inlined from ‘bool std::type_info::operator!=(const std::type_info&) const’ at /usr/include/c++/14/typeinfo:114:25,
inlined from ‘epee::serialization::array_entry* epee::serialization::portable_storage::insert_first_value(const std::string&, t_value&&, hsection) [with t_value = long unsigned int]’ at /path/to/install/contrib/epee/include/storages/portable_storage.h:266:25:
/usr/include/c++/14/typeinfo:205:49: warning: ‘int __builtin_strcmp(const char*, const char*)’ of a string of length 282 and an array of size 53 evaluates to nonzero [-Wstring-compare]
205 | return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0;
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
make[3]: Leaving directory '/path/to/install/build/Linux/master/release'
[ 58%] Built target obj_wallet
make[2]: Leaving directory '/path/to/install/build/Linux/master/release'
make[1]: *** [Makefile:146: all] Error 2
make[1]: Leaving directory '/path/to/install/build/Linux/master/release'
make: *** [Makefile:103: release-all] Error 2
I have included all make
verbosity (starting at the 50% mark) in a dump available right here
Metadata
Metadata
Assignees
Labels
No labels