Re-opening a very old thread here!

I am trying to build protocol buffers 2.3.0 on solaris using CC: Sun C++ 
5.7 2005/03/01.

The configure command I have used is:

./configure --prefix=/usr/local/protobuf-2.2.0 --without-zlib 
--disable-64bit-solaris CFLAGS=-m32 PROTOBUF_OPT_FLAG=-O3 CXXFLAGS="-m32 -g 
-DNDEBUG -fno-exceptions -library=stlport4 -xlibmil -xdepend -xbuiltin -mt 
-compat=5 -library=Crun -template=no%extdef" LDFLAGS=-m32


I get a fair way through on the compilation but then get the unexpected 
type errors as above, even though I am using stlport4 - my error output is:

libtool: compile:  CC -DHAVE_CONFIG_H -I. -I.. -D_REENTRANT -O3 -m32 -g 
-DNDEBUG -fno-exceptions -library=stlport4 -xlibmil -xdepend -xbuiltin -mt 
-compat=5 -library=Crun -template=no%extdef -c 
google/protobuf/descriptor.cc 
CC: Warning: Option -m32 passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -fno-exceptions passed to ld, if ld is invoked, ignored 
otherwise
"./google/protobuf/descriptor.h", line 324: Warning: Identifier expected 
instead of "}".
"./google/protobuf/descriptor.h", line 343: Warning: Identifier expected 
instead of "}".
"./google/protobuf/descriptor.h", line 354: Warning: Identifier expected 
instead of "}".
"./google/protobuf/descriptor.pb.h", line 87: Error: Unexpected type name 
"google::protobuf::FieldDescriptorProto_Type" encountered.
"./google/protobuf/descriptor.pb.h", line 107: Error: Unexpected type name 
"google::protobuf::FieldDescriptorProto_Label" encountered.
"./google/protobuf/descriptor.pb.h", line 127: Error: Unexpected type name 
"google::protobuf::FileOptions_OptimizeMode" encountered.
"./google/protobuf/descriptor.pb.h", line 147: Error: Unexpected type name 
"google::protobuf::FieldOptions_CType" encountered.
"./google/protobuf/wire_format_lite.h", line 95: Warning: Identifier 
expected instead of "}".
"./google/protobuf/wire_format_lite.h", line 118: Warning: Identifier 
expected instead of "}".
"./google/protobuf/wire_format_lite.h", line 133: Warning: Identifier 
expected instead of "}".
"./google/protobuf/wire_format.h", line 227: Warning: Identifier expected 
instead of "}".
"./google/protobuf/stubs/once.h", line 115: Warning (Anachronism): Formal 
argument 2 of type extern "C" void(*)() in call to pthread_once(_once*, 
extern "C" void(*)()) is being passed void(*)().
4 Error(s) and 8 Warning(s) detected.
*** Error code 1
make: Fatal error: Command failed for target `descriptor.lo'


Can anyone offer any ideas on what I need to do to get this sorted out?

Thanks.



On Wednesday, 11 November 2009 22:55:02 UTC, Monty Taylor wrote:
>
> I use 2.1.0 on solaris with sun studio compiler all the time. The thing 
> is, you cannot use Cstd, you must use stlport4. I already have the protobuf 
> configure script injecting the CXXFLAGS for that, but if you are overriding 
> them, it's gonna get ugly. Grep through the m4 files for stlport4 and you 
> should see what they are (I'm on a plane else I would paste the flags you 
> need) 
>
> If there is another issue here, I'll be interested to hear about it. If 
> that doesn't fix it, could you show the entire compiler invocation line?
>
> "Kenton Varda" <ken...@google.com <javascript:>> wrote:
>
> >The warnings look harmless (it's complaining about the trailing comma 
> after 
> >the last value in an enum). 
> > 
> >The errors suggest that your compiler is not very good with templates. 
>  The 
> >line of code is: 
> > 
> >  return 
> >::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Type>( 
> > 
> >Apparently your compiler doesn't recognize that ParseNamedEnum is a 
> >template.  What compiler are you using? 
> > 
> >On Mon, Nov 9, 2009 at 7:27 PM, vikram <patil...@gmail.com <javascript:>> 
> wrote: 
> > 
> >> 
> >> 
> >> Hello Guys, 
> >> 
> >>        I have generated protocol buffer header files and source files 
> >> from proto and compiled those with include files on linux without any 
> >> issues. Here I am trying to use same source files with same include 
> >> directory but on solaris so I have encountered following problems. 
> >> Does anyone have same issues while working with protobuf 2.1.0 
> >> 
> >> (*)() in call to pthread_once(_once*, extern "C" void(*)()) is being 
> >> passed void(*)(). 
> >> "/work/$$$$/SunBuild/Server/../Tools/protobuf/include/google/protobuf/ 
> >> descriptor.h", line 324: Warning: Identifier expected instead of "}". 
> >> "/work/$$$$/SunBuild/Server/../Tools/protobuf/include/google/protobuf/ 
> >> descriptor.h", line 343: Warning: Identifier expected instead of "}". 
> >> "/work//$$$$//SunBuild/Server/../Tools/protobuf/include/google/ 
> >> protobuf/descriptor.h", line 354: Warning: Identifier expected instead 
> >> of "}". 
> >> "/work//$$$$//SunBuild/Server/../Tools/protobuf/include/google/ 
> >> protobuf/wire_format.h", line 177: Warning: Identifier expected 
> >> instead of "}". 
> >> "/work//$$$$//SunBuild/Server/../Tools/protobuf/include/google/ 
> >> protobuf/descriptor.pb.h", line 83: Error: Unexpected type name 
> >> "google::protobuf::FieldDescriptorProto_Type" encountered. 
> >> "/work//$$$$//SunBuild/Server/../Tools/protobuf/include/google/ 
> >> protobuf/descriptor.pb.h", line 102: Error: Unexpected type name 
> >> "google::protobuf::FieldDescriptorProto_Label" encountered. 
> >> "/work//$$$$//SunBuild/Server/../Tools/protobuf/include/google/ 
> >> protobuf/descriptor.pb.h", line 120: Error: Unexpected type name 
> >> "google::protobuf::FileOptions_OptimizeMode" encountered. 
> >> "/work//$$$$//SunBuild/Server/../Tools/protobuf/include/google/ 
> >> protobuf/descriptor.pb.h", line 138: Error: Unexpected type name 
> >> "google::protobuf::FieldOptions_CType" encountered. 
> >> 4 Error(s) and 5 Warning(s) detected. 
> >> 
> >> Thanks & Regards, 
> >> Vikram 
> >> > 
> >> 
> > 
> >> 
>
> Sent from my Android phone with K-9. Please excuse my brevity.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to