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