
Philipp Münzel <mailing-lists <at> philippmuenzel.de> writes:
and
I can view them via google ("View Cached"), but I can't access
the attached patch.
I got a highly appreciated reply off-list with the following patches that should enable a succefull use with MinGw gcc4.4: Index: serialization/build/Jamfile.v2 ================================================================= --- serialization/build/Jamfile.v2 (revision 65950) +++ serialization/build/Jamfile.v2 (working copy) @@ -10,6 +10,7 @@ : source-location ../src : requirements <conditional>@include-spirit + <define>BOOST_SERIALIZATION_SOURCE=1 ; SPIRIT_ROOT = [ modules.peek : SPIRIT_ROOT ] ; Index: boost/archive/impl/archive_serializer_map.ipp ================================================================= --- boost/archive/impl/archive_serializer_map.ipp (revision 65950) +++ boost/archive/impl/archive_serializer_map.ipp (working copy) @@ -26,7 +26,7 @@ # pragma warning(disable : 4511 4512) #endif -namespace { // anon +namespace extra_detail { // anon template<class Archive> class map : public basic_serializer_map {}; @@ -40,7 +40,7 @@ BOOST_ARCHIVE_OR_WARCHIVE_DECL(bool) archive_serializer_map<Archive>::insert (const basic_serializer * bs){ return boost::serialization::singleton< - map<Archive> + boost::archive::detail::extra_detail::map<Archive> >::get_mutable_instance().insert(bs); } @@ -48,11 +48,11 @@ BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) archive_serializer_map<Archive>::erase (const basic_serializer * bs){ if(boost::serialization::singleton< - map<Archive> + boost::archive::detail::extra_detail::map<Archive> >::is_destroyed()) return; boost::serialization::singleton< - map<Archive> + boost::archive::detail::extra_detail::map<Archive> >::get_mutable_instance().erase(bs); } @@ -62,7 +62,7 @@ const boost::serialization::extended_type_info & eti ) { return boost::serialization::singleton< - map<Archive> + boost::archive::detail::extra_detail::map<Archive> >::get_const_instance().find(eti); } Index: libs/thread/src/win32/thread.cpp ================================================================== --- libs/thread/src/win32/thread.cpp (revision 65950) +++ libs/thread/src/win32/thread.cpp (working copy) @@ -586,8 +586,11 @@ else { detail::thread_data_base* const current_thread_data(get_or_make_current_thread_data()); - tss_data_node* const new_node=heap_new<tss_data_node> (key,func,tss_data,current_thread_data->tss_data); - current_thread_data->tss_data=new_node; + if (current_thread_data) + { + tss_data_node* const new_node=heap_new<tss_data_node> (key,func,tss_data,current_thread_data->tss_data); + current_thread_data->tss_data=new_node; + } } } } Index: boost/serialization/collection_size_type.hpp =================================================================== --- boost/serialization/collection_size_type.hpp (revision 66022) +++ boost/serialization/collection_size_type.hpp (working copy) @@ -57,6 +57,6 @@ } } // end namespace boost::serialization BOOST_CLASS_IMPLEMENTATION(collection_size_type, primitive_type) -BOOST_IS_BITWISE_SERIALIZABLE(collection_size_type); +BOOST_IS_BITWISE_SERIALIZABLE(collection_size_type) #endif //BOOST_SERIALIZATION_COLLECTION_SIZE_TYPE_HPP _________________________________________ Applying the last of these patches breaks my build completely. With the last patch to collection size type, I get the following error when bulding boost: gcc.compile.c++ bin.v2\libs\serialization\build\gcc-mingw-4.4.0\ release\link-static\runtime-link-static\threading-multi\ polymorphic_iarchive.o In file included from ./boost/archive/detail/iserializer.hpp:81, from ./boost/archive/polymorphic_iarchive.hpp:33, from libs\serialization\src\polymorphic_iarchive.cpp:19: ./boost/serialization/collection_size_type.hpp:59: error: expected constructor, destructor, or type conversion before '(' token If I don't apply the last of these patches, I can build, but keep getting the linker errors in my application. Philipp