[Serialization] link error in 1.56

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Serialization] link error in 1.56

Tobias Loew
Hi,

linking the serialization lib fails in version1.56 with unresolved symbols due to the missing implementation of

boost::archive::detail::shared_ptr_helper::shared_ptr_helper(void)
boost::archive::detail::shared_ptr_helper::~shared_ptr_helper(void)

up to version 1.55 those symbols were defined in libs\serialization\src\shared_ptr_helper.cpp, but now this file is excluded from the build and contains the implementation of a nowhere defined class shared_ptr_helper_base.

Is there a replacement for shared_ptr_helper, is it redundant or is serialization broken in 1.56?

Tobias
Reply | Threaded
Open this post in threaded view
|

Re: [Serialization] link error in 1.56

Robert Ramey
Tobias Loew wrote
Hi,

linking the serialization lib fails in version1.56 with unresolved symbols due to the missing implementation of

boost::archive::detail::shared_ptr_helper::shared_ptr_helper(void)
boost::archive::detail::shared_ptr_helper::~shared_ptr_helper(void)

up to version 1.55 those symbols were defined in libs\serialization\src\shared_ptr_helper.cpp, but now this file is excluded from the build and contains the implementation of a nowhere defined class shared_ptr_helper_base.

Is there a replacement for shared_ptr_helper, is it redundant or is serialization broken in 1.56?

Tobias
this was replaced by boost::serialization::shared_ptr_helper which I believe is found in boost/serialization/shared_ptr????.

Looks like something in the build has not been updated.  Or since this is a breaking change to that archive interface, perhaps this is a result from using a custom archive as opposed to one of the built in ones.

Robert Ramey

Reply | Threaded
Open this post in threaded view
|

Re: [Serialization] link error in 1.56

Tobias Loew
Thanks a lot, Robert!
I removed boost::archive::detail::shared_ptr_helper as base class from my input archive and everything works fine again. (I use custom binary archives to support backwards-saving and size_t-serialization compatibility between 32/64 bit versions of my library.)

Tobias