Thanks for the replies, sorry for the very belated response.
From the demangling that steve posted I thought this might somehow involve the [] operator. After removing every single [] operator from my code though, I am still getting similar linker errors. This time, the new section referenced is:
std::_Rb_tree<int, std::pair<int const, boost::variant<int, char, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ACE_Time_Value, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> >, std::_Select1st<std::pair<int const, boost::variant<int, char, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ACE_Time_Value, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > >, std::less<int>, std::allocator<std::pair<int const, boost::variant<int, char, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ACE_Time_Value, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > >::erase(std::_Rb_tree_iterator<std::pair<int const, boost::variant<int, char, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ACE_Time_Value, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > >, std::_Rb_tree_iterator<std::pair<int const, boost::variant<int, char, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ACE_Time_Value, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > >)
I am guessing the problem here is deeper then I thought. Any ideas of possible solutions to get this to link properly?
RE : Peter
For me, these are hard errors, not just warnings.
the same happens to me in case of I link code compiled with -g and other code compiled with -O2.
I think it is just a warning that the linker picks up a certain copy of code which is available more than once.
From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of James Madison
Sent: Monday, January 12, 2009 14:23
To: Boost-users@lists.boost.org
Subject: [Boost-users] [Variant] Odd linker errors that somehow involveboost::variant
[NOTE : this is using boost v1.32. I am forced to use this version]
In the code I am trying to compile I have a boost variant defined as:
boost::variant<int, char, double, std::string, ACE_Time_Value>
and it is used in several different ways. This project compiles and links fine using debug settings, essentially the -g flag in gcc, however whenever I try to compile without that flag I get the following error, repeated hundreds of times:
`.gnu.linkonce.t._ZNSt3mapIiN5boost7variantIicdSs14ACE_Time_ValueNS0_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EESt4lessIiESaISt4pairIKiS6_EEEixERSA_' referenced in section `.gnu.linkonce.r._ZNSt3mapIiN5boost7variantIicdSs14ACE_Time_ValueNS0_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EESt4lessIiESaISt4pairIKiS6_EEEixERSA_' of ./src/geneva/infra/messaging/ResponseMsg.o: defined in discarded section `.gnu.linkonce.t._ZNSt3mapIiN5boost7variantIicdSs14ACE_Time_ValueNS0_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EESt4lessIiESaISt4pairIKiS6_EEEixERSA_' of ./src/geneva/infra/messaging/ResponseMsg.o
Google is not helping diagnose the problem at all. I am wondering if anyone here can point me in the right direction.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users