Status: New Owner: [email protected] Labels: Type-Defect Priority-Medium
New issue 178 by fnjordy: 2.3.0 Link fail Solaris 10/SPARC/Sun Studio 12U1 http://code.google.com/p/protobuf/issues/detail?id=178 What steps will reproduce the problem? 1. Edit google/protobuf/repeated_field.h to add "#include <algorithm>" as per defect 134. 2. Vanilla build with Sun Studio. 3. Build completes. 4. Build application with static libprotobuf.a What is the expected output? What do you see instead? $ CC -o ref/release/examples/pgmping -m64 ref/release/examples/pgmping.o ref/release/examples/ping.pb.o /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a -L/opt/glib-sunstudio/lib -Lref/release -L. -lpgmex -lpgm -lresolv -lsocket -lnsl -lm -lgthread-2.0 -lpthread - lthread -lrt -lglib-2.0 Undefined first referenced symbol in file std::_String_base<char,std::allocator<char> >::~_String_base #Nvariant 1() /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(strutil.o) void*std::__node_alloc<true,0>::_M_allocate(unsigned long) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(common.o) std::_Vector_base<void*,std::allocator<void*> >::~_Vector_base #Nvariant 1() /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::ios_base::_Loc_init::_Loc_init() /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(zero_copy_stream_impl.o) std::_Rb_tree_node_base*std::_Rb_global<bool>::_Rebalance_for_erase(std::_R b_tree_node_base*,std::_Rb_tree_node_base*&,std::_Rb_tree_node_base*&,std:: _Rb_tree_node_base*&) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::vector<void*>::~vector() /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::_LimG<bool>::_D_inf /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) [Hint: static member std::_LimG<bool>::_D_inf must be defined in the program] std::_LimG<bool>::_F_inf /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) [Hint: static member std::_LimG<bool>::_F_inf must be defined in the program] void std::vector<void*>::_M_fill_insert(void**,unsigned long,void*const&) /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::less<__type_0>std::__less<unsigned long>(__type_0*) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) void std::_Rb_global<bool>::_Rebalance(std::_Rb_tree_node_base*,std::_Rb_tree_no de_base*&) /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) void std::_String_base<char,std::allocator<char>
::_M_throw_out_of_range()const /opt/glib-
sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::_Rb_tree_node_base*std::_Rb_global<bool>::_M_increment(std::_Rb_tree_n ode_base*) /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) void std::vector<void*>::reserve(unsigned long) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::_Stl_prime<bool>::_M_list /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) [Hint: static member std::_Stl_prime<bool>::_M_list must be defined in the program] void std::_String_base<char,std::allocator<char>
::_M_allocate_block(unsigned long) /opt/glib-
sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) __type_0 std::fill_n<void**,unsigned long,void*>(__type_0,__type_1,const __type_2&) /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::string &std::string::append<char*>(__type_3,__type_3,const std::forward_iterator_tag&) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(common.o) std::_Rb_tree_node_base*std::_Rb_global<bool>::_M_decrement(std::_Rb_tree_n ode_base*) /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::string &std::string::_M_assign_dispatch<char*>(__type_3,__type_3,const std::__false_type&) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) void std::vector<void*>::_M_insert_overflow(void**,void*const&,const std::__true_type&,unsigned long,bool) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) void std::__stl_throw_out_of_range(const char*) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(common.o) std::allocator<char>::~allocator() /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(common.o) std::string::basic_string() /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(common.o) std::string &std::string::append<const char*>(__type_3,__type_3,const std::forward_iterator_tag&) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(common.o) std::allocator<void*>::~allocator() /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::_LimG<bool>::_D_qNaN /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) [Hint: static member std::_LimG<bool>::_D_qNaN must be defined in the program] std::ios_base::_Loc_init::~_Loc_init() /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(zero_copy_stream_impl.o) void std::__node_alloc<true,0>::_M_deallocate(void*,unsigned long) /opt/glib-sunstudio/lib/sparcv9/libprotobuf.a(common.o) __type_0 std::__lower_bound<const unsigned long*,unsigned long,std::less<unsigned long>,long>(__type_0,__type_0,const __type_1&,__type_2,__type_3*) /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) std::_LimG<bool>::_F_qNaN /opt/glib- sunstudio/lib/sparcv9/libprotobuf.a(descriptor.o) [Hint: static member std::_LimG<bool>::_F_qNaN must be defined in the program] ld: fatal: Symbol referencing errors. No output written to ref/release/examples/pgmping What version of the product are you using? On what operating system? Solaris 10 on SPARCv9 Sun Studio 12U1 protobuf 2.3.0 SUNWlibC 119963-16 Please provide any additional information below. I have not applied the latest patches (128228-06, 141860-03, 141861-04) which fix various C/C++ Compiler issues, this is a stock clean install. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.
