--- Collage-1.7.0/co/dataIStreamArchive.h.orig 2017-05-29 15:17:51.000000000 +0200 +++ Collage-1.7.0/co/dataIStreamArchive.h 2019-05-26 22:00:38.151613651 +0200 @@ -42,9 +42,10 @@ #include #endif #include +#include #include -#include +#include #include #include @@ -73,7 +74,7 @@ /** @internal use optimized load for arrays. */ template - void load_array(boost::serialization::array& a, unsigned int); + void load_array(boost::serialization::array_wrapper& a, unsigned int); /** @internal enable serialization optimization for arrays. */ struct use_array_optimization --- Collage-1.7.0/co/dataIStreamArchive.ipp.orig 2019-05-26 21:54:06.503735390 +0200 +++ Collage-1.7.0/co/dataIStreamArchive.ipp 2019-05-26 21:56:00.719783295 +0200 @@ -21,7 +21,7 @@ namespace co { template -void DataIStreamArchive::load_array(boost::serialization::array& a, +void DataIStreamArchive::load_array(boost::serialization::array_wrapper& a, unsigned int) { _stream >> Array(a.address(), a.count()); @@ -73,7 +73,7 @@ typename boost::enable_if >::type DataIStreamArchive::load(T& t) { - namespace fp = boost::spirit::math; + namespace fp = boost::math; typedef typename fp::detail::fp_traits::type traits; // if you end here there are three possibilities: --- Collage-1.7.0/co/dataOStreamArchive.h.orig 2019-05-26 21:54:06.503735390 +0200 +++ Collage-1.7.0/co/dataOStreamArchive.h 2019-05-26 21:59:39.051933822 +0200 @@ -37,13 +37,14 @@ #include #include +#include #include #if BOOST_VERSION >= 104400 #include #endif #include -#include +#include #include #include @@ -66,7 +67,7 @@ /** @internal use optimized save for arrays. */ template - void save_array(const boost::serialization::array& a, unsigned int); + void save_array(const boost::serialization::array_wrapper& a, unsigned int); /** @internal enable serialization optimization for arrays. */ struct use_array_optimization --- Collage-1.7.0/co/dataOStreamArchive.ipp.orig 2019-05-26 21:54:06.507068705 +0200 +++ Collage-1.7.0/co/dataOStreamArchive.ipp 2019-05-26 22:00:05.315124875 +0200 @@ -16,7 +16,7 @@ */ template -void DataOStreamArchive::save_array(const boost::serialization::array& a, +void DataOStreamArchive::save_array(const boost::serialization::array_wrapper& a, unsigned int) { _stream << Array(a.address(), a.count()); @@ -72,7 +72,7 @@ typename boost::enable_if >::type DataOStreamArchive::save(const T& t) { - namespace fp = boost::spirit::math; + namespace fp = boost::math; typedef typename fp::detail::fp_traits::type traits; --- Collage-1.7.0/co/rspConnection.cpp.orig 2017-05-29 15:17:51.000000000 +0200 +++ Collage-1.7.0/co/rspConnection.cpp 2019-05-27 05:53:38.214532320 +0200 @@ -271,9 +271,9 @@ _write->set_option(ip::multicast::outbound_interface(ifAddr.to_v4())); #ifdef SO_BINDTODEVICE // https://github.com/Eyescale/Collage/issues/16 const std::string& ifIP = ifAddr.to_string(); - ::setsockopt(_write->native(), SOL_SOCKET, SO_BINDTODEVICE, + ::setsockopt(_write->native_handle(), SOL_SOCKET, SO_BINDTODEVICE, ifIP.c_str(), ifIP.size() + 1); - ::setsockopt(_read->native(), SOL_SOCKET, SO_BINDTODEVICE, ifIP.c_str(), + ::setsockopt(_read->native_handle(), SOL_SOCKET, SO_BINDTODEVICE, ifIP.c_str(), ifIP.size() + 1); #endif --- Collage-1.7.0/co/dataIStreamArchive.ipp.orig 2019-05-27 05:56:32.013590769 +0200 +++ Collage-1.7.0/co/dataIStreamArchive.ipp 2019-05-27 17:49:02.531991336 +0200 @@ -74,7 +74,7 @@ DataIStreamArchive::load(T& t) { namespace fp = boost::math; - typedef typename fp::detail::fp_traits::type traits; + typedef typename fp::detail::fp_traits::sign_change_type traits; // HACK: uses boost internals // if you end here there are three possibilities: // 1. you're serializing a long double which is not portable --- Collage-1.7.0/co/dataOStreamArchive.ipp.orig 2019-05-27 17:47:03.049305296 +0200 +++ Collage-1.7.0/co/dataOStreamArchive.ipp 2019-05-27 17:51:18.467921575 +0200 @@ -74,7 +74,7 @@ { namespace fp = boost::math; - typedef typename fp::detail::fp_traits::type traits; + typedef typename fp::detail::fp_traits::sign_change_type traits; // HACK: uses boost internals // if the no_infnan flag is set we must throw here if (get_flags() & serialization::no_infnan && !fp::isfinite(t)) @@ -97,7 +97,7 @@ bits = 0; break; case FP_NAN: - bits = traits::exponent | traits::mantissa; + bits = traits::exponent | traits::significand; break; case FP_INFINITE: bits = traits::exponent | (t < 0) * traits::sign;