cosmin.cremare...@gmail.com wrote:
> I'm using libtool v2.2.6
> 
> To make sure that protobuf always links to stlport I added CXXFLAGS="-
> library=stlport4" to the configure command.

Well... you shouldn't need to do that, we're forcing that on in
configure anyway. :)

> At the end I get the same linking errors.
> Is the below warning from ld meaningful?
> ld: warning: file /src/work/mw/protobuf-2.0.3-sunstudio11/src/.libs/
> libprotobuf.so: linked to ./.libs/libprotobuf.so: attempted multiple
> inclusion of file

Don't think so - I'm going to go recompile and see if I can reproduce.

> Regards,
> 
> Cosmin
> 
> On May 19, 10:14 pm, Monty Taylor <mord...@inaugust.com> wrote:
>> cosmin.cremare...@gmail.com wrote:
>>> Hi
>>> I'm running into some issues when compiling (more exactly linking)
>>> protobuf 2.0.3.
>>> Thanks in advance for any help.
>>> Cosmin
>>> CXX=/nettools/sunstudio/sunstudio11/SUNWspro/bin/CC CC=/nettools/
>>> sunstudio/sunstudio11/SUNWspro/bin/cc ./configure --prefix=/src/work/
>>> mw/protobuf-2.0.3-sunstudio11-build LDFLAGS=-L$PWD/src/solaris
>>> bash$ uname -a
>>> SunOS pegasus 5.10 Generic_118855-33 i86pc i386 i86pc
>>> pegasus ccremarenco /src/work/mw/protobuf-2.0.3-sunstudio11/
>>> bash$ CC -V
>>> CC: Sun C++ 5.8 Patch 121018-11 2007/05/02
>> Well... it looks fine on the surface - but there may have been a problem
>> further back in your build histoy. Are there any references to -Cstd in
>> there? If so, you need to install libtool 2.2 and then re-run autogen.sh
>> (older libtools do bad things on solaris) But I don't remember having
>> had to do that last time I built.
>>
>>> /bin/bash ../libtool --tag=CXX --mode=link /nettools/sunstudio/
>>> sunstudio11/SUNWspro/bin/CC -D_REENTRANT  -g -xO4 -xlibmil -mt -
>>> D_FORTEC_ -xlang=c99 -compat=5 -library=stlport4 -template=no%extdef -
>>> D_REENTRANT -L/src/work/mw/protobuf-2.0.3-sunstudio11/src/solaris -o
>>> protoc  main.o -lpthread libprotobuf.la libprotoc.la
>>> libtool: link: /nettools/sunstudio/sunstudio11/SUNWspro/bin/CC -
>>> D_REENTRANT -g -xO4 -xlibmil -mt -D_FORTEC_ -xlang=c99 -compat=5 -
>>> template=no%extdef -D_REENTRANT -o .libs/protoc main.o  -L/src/work/mw/
>>> protobuf-2.0.3-sunstudio11/src/solaris ./.libs/libprotobuf.so ./.libs/
>>> libprotoc.so /src/work/mw/protobuf-2.0.3-sunstudio11/src/.libs/
>>> libprotobuf.so -library=stlport4 -lpthread -mt -R/src/work/mw/
>>> protobuf-2.0.3-sunstudio11-build/lib
>>> ld: warning: file /src/work/mw/protobuf-2.0.3-sunstudio11/src/.libs/
>>> libprotobuf.so: linked to ./.libs/libprotobuf.so: attempted multiple
>>> inclusion of file
>>> Undefined                       first referenced
>>>  symbol                             in file
>>> std::pair<std::_Rb_tree_iterator<const
>>> google::protobuf::Descriptor*,std::_Nonconst_traits<const
>>> google::protobuf::Descriptor*> >,bool>std::_Rb_tree<const
>>> google::protobuf::Descriptor*,const
>>> google::protobuf::Descriptor*,std::_Identity<const
>>> google::protobuf::Descriptor*>,std::less<const
>>> google::protobuf::Descriptor*>,std::allocator<const
>>> google::protobuf::Descriptor*> >::insert_unique(const
>>> google::protobuf::Descriptor*const&) ./.libs/libprotobuf.so
>>> unsigned std::hashtable<std::pair<const char*const,const
>>> google::protobuf::FileDescriptor*>,const
>>> char*,google::protobuf::hash<const
>>> char*>,std::_Select1st<std::pair<const char*const,const
>>> google::protobuf::FileDescriptor*>
>>>> ,google::protobuf::__unnamed_sWhGbsSnEKGIw::CStringEqual,std::allocator<std
>>>>  ::pair<const
>>> char*const,const google::protobuf::FileDescriptor*> > >::erase(const
>>> char*const&) ./.libs/libprotobuf.so
>>> void std::_Rb_tree<std::string,std::pair<const
>>> std::string,google::protobuf::compiler::CommandLineInterface::GeneratorInfo 
>>> >,std::_Select1st<std::pair<const
>>> std::string,google::protobuf::compiler::CommandLineInterface::GeneratorInfo 
>>> >
>>>> ,std::less<std::string>,std::allocator<std::pair<const
>>> std::string,google::protobuf::compiler::CommandLineInterface::GeneratorInfo 
>>> >
>>>>> ::_M_erase(std::_Rb_tree_node<std::pair<const
>>> std::string,google::protobuf::compiler::CommandLineInterface::GeneratorInfo 
>>> >
>>>> *) ./.libs/libprotoc.so
>>> std::pair<std::_Rb_tree_iterator<const
>>> google::protobuf::FileDescriptor*,std::_Nonconst_traits<const
>>> google::protobuf::FileDescriptor*> >,bool>std::_Rb_tree<const
>>> google::protobuf::FileDescriptor*,const
>>> google::protobuf::FileDescriptor*,std::_Identity<const
>>> google::protobuf::FileDescriptor*>,std::less<const
>>> google::protobuf::FileDescriptor*>,std::allocator<const
>>> google::protobuf::FileDescriptor*> >::insert_unique(const
>>> google::protobuf::FileDescriptor*const&) ./.libs/libprotoc.so
>>> void std::_Rb_tree<int,std::pair<const
>>> int,google::protobuf::UnknownField*>,std::_Select1st<std::pair<const
>>> int,google::protobuf::UnknownField*>
>>>> ,std::less<int>,std::allocator<std::pair<const
>>> int,google::protobuf::UnknownField*> > >::_M_erase
>>> (std::_Rb_tree_node<std::pair<const
>>> int,google::protobuf::UnknownField*> >*) ./.libs/libprotobuf.so
>>> std::pair<std::_Ht_iterator<std::pair<const
>>> google::protobuf::Descriptor*const,const
>>> google::protobuf::Message*>,std::_Nonconst_traits<std::pair<const
>>> google::protobuf::Descriptor*const,const google::protobuf::Message*>
>>>> ,const google::protobuf::Descriptor*,google::protobuf::hash<const
>>> google::protobuf::Descriptor*>,std::_Select1st<std::pair<const
>>> google::protobuf::Descriptor*const,const google::protobuf::Message*>
>>>> ,std::equal_to<const
>>> google::protobuf::Descriptor*>,std::allocator<std::pair<const
>>> google::protobuf::Descriptor*const,const google::protobuf::Message*> >
>>>> ,bool>std::hashtable<std::pair<const
>>> google::protobuf::Descriptor*const,const
>>> google::protobuf::Message*>,const
>>> google::protobuf::Descriptor*,google::protobuf::hash<const
>>> google::protobuf::Descriptor*>,std::_Select1st<std::pair<const
>>> google::protobuf::Descriptor*const,const google::protobuf::Message*>
>>>> ,std::equal_to<const
>>> google::protobuf::Descriptor*>,std::allocator<std::pair<const
>>> google::protobuf::Descriptor*const,const google::protobuf::Message*> >
>>>> ::insert_unique_noresize(const std::pair<const
>>> google::protobuf::Descriptor*const,const
>>> google::protobuf::Message*>&) ./.libs/libprotobuf.so
>>> std::pair<std::_Ht_iterator<std::pair<const char*const,const
>>> google::protobuf::FileDescriptor*>,std::_Nonconst_traits<std::pair<const
>>> char*const,const google::protobuf::FileDescriptor*> >,const
>>> char*,google::protobuf::hash<const
>>> char*>,std::_Select1st<std::pair<const char*const,const
>>> google::protobuf::FileDescriptor*>
>>>> ,google::protobuf::__unnamed_sWhGbsSnEKGIw::CStringEqual,std::allocator<std
>>>>  ::pair<const
>>> char*const,const google::protobuf::FileDescriptor*> >
>>>> ,bool>std::hashtable<std::pair<const char*const,const
>>> google::protobuf::FileDescriptor*>,const
>>> char*,google::protobuf::hash<const
>>> char*>,std::_Select1st<std::pair<const char*const,const
>>> google::protobuf::FileDescriptor*>
>>>> ,google::protobuf::__unnamed_sWhGbsSnEKGIw::CStringEqual,std::allocator<std
>>>>  ::pair<const
>>> char*const,const google::protobuf::FileDescriptor*> >
>>>> ::insert_unique_noresize(const std::pair<const char*const,const
>>> google::protobuf::FileDescriptor*>&) ./.libs/libprotobuf.so
>>> void std::_Rb_tree<std::string,std::pair<const
>>> std::string,std::string>,std::_Select1st<std::pair<const
>>> std::string,std::string>
>>>> ,std::less<std::string>,std::allocator<std::pair<const
>>> std::string,std::string> > >::_M_erase
>>> (std::_Rb_tree_node<std::pair<const std::string,std::string>
>>>> *) ./.libs/libprotobuf.so
>>> void std::_Rb_tree<const google::protobuf::FileDescriptor*,const
>>> google::protobuf::FileDescriptor*,std::_Identity<const
>>> google::protobuf::FileDescriptor*>,std::less<const
>>> google::protobuf::FileDescriptor*>,std::allocator<const
>>> google::protobuf::FileDescriptor*> >::_M_erase
>>> (std::_Rb_tree_node<const google::protobuf::FileDescriptor*>*) ./.libs/
>>> libprotoc.so
>>> void std::_Rb_tree<const google::protobuf::Descriptor*,const
>>> google::protobuf::Descriptor*,std::_Identity<const
>>> google::protobuf::Descriptor*>,std::less<const
>>> google::protobuf::Descriptor*>,std::allocator<const
>>> google::protobuf::Descriptor*> >::_M_erase(std::_Rb_tree_node<const
>>> google::protobuf::Descriptor*>*) ./.libs/libprotobuf.so
>>> unsigned std::hashtable<std::pair<const std::pair<const
>>> google::protobuf::Descriptor*,int>,const
>>> google::protobuf::FieldDescriptor*>,std::pair<const
>>> google::protobuf::Descriptor*,int>,google::protobuf::__unnamed_sWhGbsSnEKGI 
>>> w::PointerIntegerPairHash<std::pair<const
>>> google::protobuf::Descriptor*,int> >,std::_Select1st<std::pair<const
>>> std::pair<const google::protobuf::Descriptor*,int>,const
>>> google::protobuf::FieldDescriptor*> >,std::equal_to<std::pair<const
>>> google::protobuf::Descriptor*,int> >,std::allocator<std::pair<const
>>> std::pair<const google::protobuf::Descriptor*,int>,const
>>> google::protobuf::FieldDescriptor*> > >::_M_next_size(unsigned)
>>> const ./.libs/libprotobuf.so
>>> void std::_Rb_tree<std::pair<std::string,int>,std::pair<const
>>> std::pair<std::string,int>,const
>>> google::protobuf::FileDescriptorProto*>,std::_Select1st<std::pair<const
>>> std::pair<std::string,int>,const
>>> google::protobuf::FileDescriptorProto*>
>>>> ,std::less<std::pair<std::string,int>
>>>> ,std::allocator<std::pair<const std::pair<std::string,int>,const
>>> google::protobuf::FileDescriptorProto*> > >::_M_erase
>>> (std::_Rb_tree_node<std::pair<const std::pair<std::string,int>,const
>>> google::protobuf::FileDescriptorProto*> >*) ./.libs/libprotobuf.so
>>> void std::hashtable<std::pair<const std::pair<const void*,const
>>> char*>,google::protobuf::__unnamed_sWhGbsSnEKGIw::Symbol>,std::pair<const
>>> void*,const
>>> char*>,google::protobuf::__unnamed_sWhGbsSnEKGIw::PointerStringPairHash,std 
>>> ::_Select1st<std::pair<const
>>> std::pair<const void*,const
>>> char*>,google::protobuf::__unnamed_sWhGbsSnEKGIw::Symbol>
>>>> ,google::protobuf::__unnamed_sWhGbsSnEKGIw::PointerStringPairEqual,std::all
>>>>  ocator<std::pair<const
>>> std::pair<const void*,const
>>> char*>,google::protobuf::__unnamed_sWhGbsSnEKGIw::Symbol> > >::clear
>>> () ./.libs/libprotobuf.so
>>> std::_Rb_tree_iterator<std::pair<const
>>> std::string,std::string>,std::_Nonconst_traits<std::pair<const
>>> std::string,std::string> > >std::_Rb_tree<std::string,std::pair<const
>>> std::string,std::string>,std::_Select1st<std::pair<const
>>> std::string,std::string>
>>>> ,std::less<std::string>,std::allocator<std::pair<const
>>> std::string,std::string> > >::insert_unique
>>> (std::_Rb_tree_iterator<std::pair<const
>>> std::string,std::string>,std::_Nonconst_traits<std::pair<const
>> ...
>>
>> read more ยป
> > 
> 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to