[Boost-bugs] [Boost C++ Libraries] #4375: [serialization] Build failures on Mingw

Subject: [Boost-bugs] [Boost C++ Libraries] #4375: [serialization] Build failures on Mingw
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-06-24 14:58:34


#4375: [serialization] Build failures on Mingw
--------------------------------------------------+-------------------------
 Reporter: rwebb <richard.webb@…> | Owner: ramey
     Type: Bugs | Status: new
Milestone: Boost 1.44.0 | Component: serialization
  Version: Boost Development Trunk | Severity: Problem
 Keywords: |
--------------------------------------------------+-------------------------
 Most of the serialization tests are failing on Mingw (see the RW_Mingw45
 runner on
 http://www.boost.org/development/tests/trunk/developer/serialization.html).

 The test results don't tell you whats failing, but the actual log shows
 that it's a linking error when building the lib as a .dll:


 {{{
 Creating library file: bin.v2\libs\serialization\build\gcc-
 mingw-4.5.0\release\threading-multi\libboost_serialization-mgw45-mt-
 1_44.dll.abin.v2\libs\serialization\build\gcc-mingw-4.5.0\release
 \threading-
 multi\basic_serializer_map.o:basic_serializer_map.cpp:(.text+0x17):
 undefined reference to
 `_imp___ZNK5boost13serialization18extended_type_infoltERKS1_'
 bin.v2\libs\serialization\build\gcc-mingw-4.5.0\release\threading-
 multi\basic_serializer_map.o:basic_serializer_map.cpp:(.text+0xb1):
 undefined reference to
 `_imp___ZNK5boost13serialization18extended_type_infoltERKS1_'
 bin.v2\libs\serialization\build\gcc-mingw-4.5.0\release\threading-
 multi\basic_serializer_map.o:basic_serializer_map.cpp:(.text+0xf2):
 undefined reference to
 `_imp___ZNK5boost13serialization18extended_type_infoltERKS1_'
 bin.v2\libs\serialization\build\gcc-mingw-4.5.0\release\threading-
 multi\basic_serializer_map.o:basic_serializer_map.cpp:(.text$_ZNSt8_Rb_treeIPKN5boost7archive6detail16basic_serializerES5_St9_IdentityIS5_ENS2_20basic_serializer_map25type_info_pointer_compareESaIS5_EE16_M_insert_uniqueERKS5_[std::_Rb_tree<boost::archive::detail::basic_serializer
 const*, boost::archive::detail::basic_serializer const*,
 std::_Identity<boost::archive::detail::basic_serializer const*>,
 boost::archive::detail::basic_serializer_map::type_info_pointer_compare,
 std::allocator<boost::archive::detail::basic_serializer const*>
>::_M_insert_unique(boost::archive::detail::basic_serializer const*
 const&)]+0x22): undefined reference to
 `_imp___ZNK5boost13serialization18extended_type_infoltERKS1_'
 bin.v2\libs\serialization\build\gcc-mingw-4.5.0\release\threading-
 multi\basic_serializer_map.o:basic_serializer_map.cpp:(.text$_ZNSt8_Rb_treeIPKN5boost7archive6detail16basic_serializerES5_St9_IdentityIS5_ENS2_20basic_serializer_map25type_info_pointer_compareESaIS5_EE16_M_insert_uniqueERKS5_[std::_Rb_tree<boost::archive::detail::basic_serializer
 const*, boost::archive::detail::basic_serializer const*,
 std::_Identity<boost::archive::detail::basic_serializer const*>,
 boost::archive::detail::basic_serializer_map::type_info_pointer_compare,
 std::allocator<boost::archive::detail::basic_serializer const*>
>::_M_insert_unique(boost::archive::detail::basic_serializer const*
 const&)]+0x72): undefined reference to
 `_imp___ZNK5boost13serialization18extended_type_infoltERKS1_'
 bin.v2\libs\serialization\build\gcc-mingw-4.5.0\release\threading-
 multi\basic_serializer_map.o:basic_serializer_map.cpp:(.text$_ZNSt8_Rb_treeIPKN5boost7archive6detail16basic_serializerES5_St9_IdentityIS5_ENS2_20basic_serializer_map25type_info_pointer_compareESaIS5_EE16_M_insert_uniqueERKS5_[std::_Rb_tree<boost::archive::detail::basic_serializer
 const*, boost::archive::detail::basic_serializer const*,
 std::_Identity<boost::archive::detail::basic_serializer const*>,
 boost::archive::detail::basic_serializer_map::type_info_pointer_compare,
 std::allocator<boost::archive::detail::basic_serializer const*>
>::_M_insert_unique(boost::archive::detail::basic_serializer const*
 const&)]+0x15e): more undefined references to
 `_imp___ZNK5boost13serialization18extended_type_infoltERKS1_' follow
 bin.v2\libs\serialization\build\gcc-mingw-4.5.0\release\threading-
 multi\shared_ptr_helper.o:shared_ptr_helper.cpp:(.text+0x50): undefined
 reference to
 `_imp___ZN5boost13serialization13void_downcastERKNS0_18extended_type_infoES3_PKv'
 bin.v2\libs\serialization\build\gcc-mingw-4.5.0\release\threading-
 multi\shared_ptr_helper.o:shared_ptr_helper.cpp:(.text+0x107): undefined
 reference to
 `_imp___ZN5boost13serialization11void_upcastERKNS0_18extended_type_infoES3_PKv
 '
 collect2: ld returned 1 exit status
 }}}

 The attached patch adds a #define BOOST_SERIALIZATION_SOURCE to a couple
 of serialization source files, which allows the build to work and most of
 the tests to pass (there are still a few failures, but i have't looked at
 those yet).

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4375>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:03 UTC