Hi,
thank you.
Karol
On 19/01/2020 16:29, Hartmut Kaiser wrote:
>> I have issue with serialization of my structure. Structure is following:
>>
>> struct point {
>> float ig;
>> std::size_t set;
>> };
>>
>> When I am building my project I get errors typed below. I do not know how
>> to fix this.
> When compiling with -std=c++17 this should compile without change. For earlier
> versions of the standard, you will have to define a serialization function for
> your type explicitly:
>
> template <typename Archive>
> void serialize(Archive& ar, point& pt, unsigned)
> {
> ar & pt.ig & pt.set;
> }
>
> That should do the trick.
>
> HTH
> Regards Hartmut
> ---------------
> http://stellar.cct.lsu.edu
> https://github.com/STEllAR-GROUP/hpx
>
>
>> Best,
>>
>> Karol
>>
>> --------------------------------------------------------------------------
>> --
>>
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/basic_a
>> rchive.hpp:66:13:
>> required from 'void
>> hpx::serialization::basic_archive<Archive>::invoke(T&) [with T = const
>> hpx::util::tuple<std::vector<mdfs::point, std::allocator<mdfs::point> >
>>> ; Archive = hpx::serialization::output_archive]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/seriali
>> ze.hpp:20:9:
>> required from 'hpx::serialization::output_archive&
>> hpx::serialization::operator<<(hpx::serialization::output_archive&,
>> const T&) [with T = hpx::util::tuple<std::vector<mdfs::point,
>> std::allocator<mdfs::point> > >]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/actions/transfer_base
>> _action.hpp:306:16:
>> required from 'void
>> hpx::actions::transfer_base_action<Action>::save_base(hpx::serialization::
>> output_archive&)
>> [with Action = hpx::lcos::base_lco_with_value<std::vector<mdfs::point>,
>> std::vector<mdfs::point>,
>> hpx::traits::detail::managed_component_tag>::set_value_action]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/actions/transfer_cont
>> inuation_action.hpp:211:9:
>> required from 'void
>> hpx::actions::transfer_continuation_action<Action>::save(hpx::serializatio
>> n::output_archive&)
>> [with Action = hpx::lcos::base_lco_with_value<std::vector<mdfs::point>,
>> std::vector<mdfs::point>,
>> hpx::traits::detail::managed_component_tag>::set_value_action]'
>> /home/user/workspace/Masters/mdfs_hpx/main.cc:200:1: required from here
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/access.
>> hpp:106:9:
>> error: static assertion failed: No serialization method found
>> static_assert(dependent_false<T>::value,
>> ^~~~~~~~~~~~~
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/access.
>> hpp:
>> In instantiation of 'static void
>> hpx::serialization::access::serialize_dispatcher<T>::non_intrusive::call(A
>> rchive&,
>> T&, unsigned int) [with Archive = hpx::serialization::output_archive; T =
>> const mdfs::point]':
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/access.
>> hpp:224:48:
>> required from 'static void
>> hpx::serialization::access::serialize(Archive&, T&, unsigned int) [with
>> Archive = hpx::serialization::output_archive; T = const mdfs::point]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/output_
>> archive.hpp:284:30:
>> required from 'void
>> hpx::serialization::output_archive::save_nonintrusively_polymorphic(const
>> T&, std::false_type) [with T = mdfs::point; std::false_type =
>> std::integral_constant<bool, false>]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/output_
>> archive.hpp:260:13:
>> required from 'void
>> hpx::serialization::output_archive::save_bitwise(const T&,
>> std::false_type) [with T = mdfs::point; std::false_type =
>> std::integral_constant<bool, false>]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/output_
>> archive.hpp:224:13:
>> required from 'typename std::enable_if<((! std::is_integral<_Tp>::value)
>> && (! std::is_enum<_Tp>::value))>::type
>> hpx::serialization::output_archive::save(const T&) [with T = mdfs::point;
>> typename std::enable_if<((! std::is_integral<_Tp>::value) && (!
>> std::is_enum<_Tp>::value))>::type = void]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/output_
>> archive.hpp:213:13:
>> required from 'void
>> hpx::serialization::output_archive::invoke_impl(const T&) [with T =
>> mdfs::point]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/basic_a
>> rchive.hpp:66:13:
>> [ skipping 33 instantiation contexts, use -ftemplate-backtrace-limit=0 to
>> disable ]
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/output_
>> archive.hpp:213:13:
>> required from 'void
>> hpx::serialization::output_archive::invoke_impl(const T&) [with T =
>> hpx::util::tuple<std::vector<mdfs::point, std::allocator<mdfs::point> >
>>> ]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/basic_a
>> rchive.hpp:66:13:
>> required from 'void
>> hpx::serialization::basic_archive<Archive>::invoke(T&) [with T = const
>> hpx::util::tuple<std::vector<mdfs::point, std::allocator<mdfs::point> >
>>> ; Archive = hpx::serialization::output_archive]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/seriali
>> ze.hpp:20:9:
>> required from 'hpx::serialization::output_archive&
>> hpx::serialization::operator<<(hpx::serialization::output_archive&,
>> const T&) [with T = hpx::util::tuple<std::vector<mdfs::point,
>> std::allocator<mdfs::point> > >]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/actions/transfer_base
>> _action.hpp:306:16:
>> required from 'void
>> hpx::actions::transfer_base_action<Action>::save_base(hpx::serialization::
>> output_archive&)
>> [with Action = hpx::lcos::base_lco_with_value<std::vector<mdfs::point>,
>> std::vector<mdfs::point>,
>> hpx::traits::detail::managed_component_tag>::set_value_action]'
>> /home/user/libs/hpx_build_system/include/hpx/runtime/actions/transfer_cont
>> inuation_action.hpp:211:9:
>> required from 'void
>> hpx::actions::transfer_continuation_action<Action>::save(hpx::serializatio
>> n::output_archive&)
>> [with Action = hpx::lcos::base_lco_with_value<std::vector<mdfs::point>,
>> std::vector<mdfs::point>,
>> hpx::traits::detail::managed_component_tag>::set_value_action]'
>> /home/user/workspace/Masters/mdfs_hpx/main.cc:200:1: required from here
>> /home/user/libs/hpx_build_system/include/hpx/runtime/serialization/access.
>> hpp:180:53:
>> error: 'call' is not a member of
>> 'hpx::serialization::serialize_non_intrusive<const mdfs::point, void>'
>> serialize_non_intrusive<T>::call(ar, t, 0);
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
>> CMakeFiles/MAIN.dir/build.make:62: recipe for target
>> 'CMakeFiles/MAIN.dir/main.cc.o' failed
>> make[2]: *** [CMakeFiles/MAIN.dir/main.cc.o] Error 1
>> CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/MAIN.dir/all'
>> failed
>> make[1]: *** [CMakeFiles/MAIN.dir/all] Error 2
>> Makefile:129: recipe for target 'all' failed
>> make: *** [all] Error 2
>>
>> --
>> Supercomputing Frontiers Europe 2020
>> Warsaw, Poland, March 23 - 26, 2020
>> https://supercomputingfrontiers.eu/2020/
>>
>> Karol Niedzielewski
>> System Administrator
>> Interdisciplinary Centre for Mathematical and Computational Modelling
>> (ICM), University of Warsaw
>>
>> ul. Kupiecka 32, 03-046 Warszawa
>> www.icm.edu.pl; kdm.icm.edu.pl
>>
>> _______________________________________________
>> hpx-users mailing list
>> [email protected]
>> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
>
--
Supercomputing Frontiers Europe 2020
Warsaw, Poland, March 23 – 26, 2020
https://supercomputingfrontiers.eu/2020/
Karol Niedzielewski
System Administrator
Interdisciplinary Centre for Mathematical and Computational Modelling (ICM),
University of Warsaw
ul. Kupiecka 32, 03-046 Warszawa
www.icm.edu.pl; kdm.icm.edu.pl
_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users