Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make -j 10 [ 58%] Built target obj_wallet make[1]: *** [Makefile:146: all] Error 2 make[1]: Leaving directory ' make: *** [Makefile:103: release-all] Error 2 #45

Open
yhilgjff opened this issue Nov 13, 2024 · 0 comments

Comments

@yhilgjff
Copy link

yhilgjff commented Nov 13, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant