This was a bug in 2.1.0rc1 that was fixed for the final release. Download 2.1.0 here: http://code.google.com/p/protobuf/downloads/list
On Sun, May 31, 2009 at 5:02 PM, Alexey Yakubovich <alexe...@gmail.com>wrote: > Kenton, > > Thanks for your help, C++ works for me, but not quite. I have on my > mashine two PB version: protobuf-2.0.3 and protobuf-2.1.0rc1. The > first build (for C++) works just fine. The socong build results in an > error, output is at the end of the current message. The actual error > msg is (if I got it right): > > ambiguous overload for 'operator<<' in '(+(+(+(+(&LogMessage ... > > and then > > Extension conflicts with extension already in database > > What is this database? Can you have more then one instance (different > versions) of PB on your machine (Windows)? > > Because, you see, the version protobuf-2.0.3 for Python requires > Python 2.5 and try to download setuptools that is not actuyally > available any more... But that is different issue... > So I have now two PB versions, but also having some problems. > > Thanks > > Alexey > > $ make > make all-recursive > make[1]: Entering directory `/cygdrive/d/JavaFT/protobuf-2.1.0rc1' > Making all in . > make[2]: Entering directory `/cygdrive/d/JavaFT/protobuf-2.1.0rc1' > make[2]: Leaving directory `/cygdrive/d/JavaFT/protobuf-2.1.0rc1' > Making all in src > make[2]: Entering directory `/cygdrive/d/JavaFT/protobuf-2.1.0rc1/src' > /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. > - > Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -g -DNDEBUG > -MT > descriptor_database.lo -MD -MP -MF .deps/descriptor_database.Tpo -c -o > descripto > r_database.lo `test -f 'google/protobuf/descriptor_database.cc' || echo > './'`goo > gle/protobuf/descriptor_database.cc > g++ -DHAVE_CONFIG_H -I. -I.. -Wall -Wwrite-strings -Woverloaded-virtual > -Wno-si > gn-compare -O2 -g -DNDEBUG -MT descriptor_database.lo -MD -MP -MF > .deps/descript > or_database.Tpo -c google/protobuf/descriptor_database.cc -DDLL_EXPORT > -DPIC -o > .libs/descriptor_database.o > google/protobuf/descriptor_database.cc: In member function `bool > google::protobu > f::SimpleDescriptorDatabase::DescriptorIndex<Value>::AddExtension(const > google:: > protobuf::FieldDescriptorProto&, Value) [with Value = const > google::protobuf::Fi > leDescriptorProto*]': > google/protobuf/descriptor_database.cc:75: instantiated from `bool > google::pro > tobuf::SimpleDescriptorDatabase::DescriptorIndex<Value>::AddFile(const > google::p > rotobuf::FileDescriptorProto&, Value) [with Value = const > google::protobuf::File > DescriptorProto*]' > google/protobuf/descriptor_database.cc:263: instantiated from here > google/protobuf/descriptor_database.cc:159: error: ambiguous overload for > 'opera > tor<<' in '(+(+(+(+(&LogMessage( LOGLEVEL_ERROR, ((const > char*)"google/protobuf/ > descriptor_database.cc"), > 159))->google::protobuf::internal::LogMessage::operato > r<<(((const char*)"Extension conflicts with extension already in database: > exten > d ")))->google::protobuf::internal::LogMessage::operator<<(((const > std::string&) > > (+(+field)->google::protobuf::FieldDescriptorProto::extendee()))))->google::prot > obuf::internal::LogMessage::operator<<(((const char*)" { > ")))->google::protobuf: > :internal::LogMessage::operator<<(((const > std::string&)(+(+field)->google::proto > > buf::FieldDescriptorProto::name()))))->google::protobuf::internal::LogMessage::o > perator<<(((const char*)" = ")) << > (+field)->google::protobuf::FieldDescriptorPr > oto::number()' > ./google/protobuf/stubs/common.h:584: note: candidates are: > google::protobuf::in > ternal::LogMessage& > google::protobuf::internal::LogMessage::operator<<(const std > ::string&) <near match> > ./google/protobuf/stubs/common.h:585: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(const char*) <near > match > > > ./google/protobuf/stubs/common.h:586: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(char) > ./google/protobuf/stubs/common.h:587: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(int) > ./google/protobuf/stubs/common.h:588: note: > google::protobuf::internal::LogMess > age& > google::protobuf::internal::LogMessage::operator<<(google::protobuf::uint) > ./google/protobuf/stubs/common.h:589: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(double) > google/protobuf/descriptor_database.cc: In member function `bool > google::protobu > f::SimpleDescriptorDatabase::DescriptorIndex<Value>::AddExtension(const > google:: > protobuf::FieldDescriptorProto&, Value) [with Value = std::pair<const > void*, int > >]': > google/protobuf/descriptor_database.cc:75: instantiated from `bool > google::pro > tobuf::SimpleDescriptorDatabase::DescriptorIndex<Value>::AddFile(const > google::p > rotobuf::FileDescriptorProto&, Value) [with Value = std::pair<const void*, > int>] > ' > google/protobuf/descriptor_database.cc:311: instantiated from here > google/protobuf/descriptor_database.cc:159: error: ambiguous overload for > 'opera > tor<<' in '(+(+(+(+(&LogMessage( LOGLEVEL_ERROR, ((const > char*)"google/protobuf/ > descriptor_database.cc"), > 159))->google::protobuf::internal::LogMessage::operato > r<<(((const char*)"Extension conflicts with extension already in database: > exten > d ")))->google::protobuf::internal::LogMessage::operator<<(((const > std::string&) > > (+(+field)->google::protobuf::FieldDescriptorProto::extendee()))))->google::prot > obuf::internal::LogMessage::operator<<(((const char*)" { > ")))->google::protobuf: > :internal::LogMessage::operator<<(((const > std::string&)(+(+field)->google::proto > > buf::FieldDescriptorProto::name()))))->google::protobuf::internal::LogMessage::o > perator<<(((const char*)" = ")) << > (+field)->google::protobuf::FieldDescriptorPr > oto::number()' > ./google/protobuf/stubs/common.h:584: note: candidates are: > google::protobuf::in > ternal::LogMessage& > google::protobuf::internal::LogMessage::operator<<(const std > ::string&) <near match> > ./google/protobuf/stubs/common.h:585: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(const char*) <near > match > > > ./google/protobuf/stubs/common.h:586: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(char) > ./google/protobuf/stubs/common.h:587: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(int) > ./google/protobuf/stubs/common.h:588: note: > google::protobuf::internal::LogMess > age& > google::protobuf::internal::LogMessage::operator<<(google::protobuf::uint) > ./google/protobuf/stubs/common.h:589: note: > google::protobuf::internal::LogMess > age& google::protobuf::internal::LogMessage::operator<<(double) > make[2]: *** [descriptor_database.lo] Error 1 > make[2]: Leaving directory `/cygdrive/d/JavaFT/protobuf-2.1.0rc1/src' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/cygdrive/d/JavaFT/protobuf-2.1.0rc1' > make: *** [all] Error 2 > > > On Mon, May 25, 2009 at 2:57 PM, Kenton Varda <ken...@google.com> wrote: > > On cygwin you should really use the provided configure script and > > makefiles. Once you've installed the library you can use your IDE for > your > > own project that uses protocol buffers. > > > > If you really want to compile with an IDE, then you will at least have to > > run the configure script to produce config.h, which is included by other > > protobuf headers. Note that you should NOT try to force the protobuf > code > > to use windows.h or any of the _WIN32 stuff. The whole point of Cygwin > is > > to provide a POSIX-like API on top of Windows, so you should let > libprotobuf > > use that API instead of using Win32 directly. > > > > On Sun, May 24, 2009 at 1:01 PM, Alexey Yakubovich <alexe...@gmail.com> > > wrote: > >> > >> Is it possible at all (and how) to run gtest_main on Windows? > >> > >> I try to build PB on java and on C++. Java is OK. > >> > >> On C++, I use NetBeans 6.5.1 C++ with cygwin. After fixing some things I > >> managed to compile whole project, with tests. Major innovation (I hope > >> not breaking PB ?), I just commented out stuff in common.cc, forsing > usage > >> of windows.h, like this: > >> > >> //#ifdef _WIN32 > >> //#define WIN32_LEAN_AND_MEAN // We only need minimal includes > >> #include <windows.h> > >> //#elif defined(HAVE_PTHREAD) > >> //#include <pthread.h> > >> //#else > >> //#error "No suitable threading library available." > >> //#endif > >> > >> (I tried to define _WIN32, but then it does not compile) > >> > >> But when run, I have > >> > >> D:\Proj\NB65_CPP\PB_C3\dist\Debug\Cygwin-Windows>pb_c3.exe > >> 14871 [main] pb_c3 4204 _cygtls::handle_exceptions: Exception: > >> STATUS_ACCESS_VIOLATION > >> 16789 [main] pb_c3 4204 open_stackdumpfile: Dumping stack trace to > >> pb_c3.exe.stackdump > >> > >> (pb_c3.exe in my home-built PB) > >> > >> Or should is it better for PB C++/Windows to use scripts configure make > >> make check etc.supplyed with PB distribution, not moving stuff to my > >> convenient IDE? > >> > >> And what is the simplest possible argv for gtest_main? > >> > >> Thanks for any help / sharing know how > >> > >> Alexey > >> > >> > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---