Hi,
I am moving to Boost 1.57.0 and having issues with some code related to serialization.
https://github.com/cms-sw/cmssw/blob/CMSSW_7_3_X/CondFormats/Serialization/i...
https://github.com/cms-sw/cmssw/blob/CMSSW_7_3_X/CondFormats/Serialization/i...
In both cases the problem is here:
#if BOOST_VERSION >= 103500
#include
#endif
[snip]
#if BOOST_VERSION >= 103500
// mix-in helper class for serializing shared_ptr
, public boost::archive::detail::shared_ptr_helper
#endif
A similar (or the same) problem is reported here: http://boost.2283326.n4.nabble.com/Serialization-link-error-in-1-56-td466683...
It seems that ctor/dtor are not exported anymore:
/testSerializationDQMObjects.o: In function `eos::portable_oarchive::portable_oarchive(std::ostream&
, unsigned int)':
testSerializationDQMObjects.cpp:(.text._ZN3eos17portable_oarchiveC2ERSoj[_ZN3eos17portable_oarchiveC5ERSoj]+0x54): undefined reference to `boost::archive::detail::shared_ptr_helper:
:shared_ptr_helper()'
testSerializationDQMObjects.cpp:(.text._ZN3eos17portable_oarchiveC2ERSoj[_ZN3eos17portable_oarchiveC5ERSoj]+0x1c1): undefined reference to `boost::archive::detail::shared_ptr_helper
::~shared_ptr_helper()'
boost::serialization::shared_ptr_helper does not seem to be a drop-in replacement at first look.
There is also 'shared_ptr_helper_base', but is only available in the implementation file.
Is such mix-in class still available in a new Boost version?
Thanks,
david