Hi,

    i don't know if this is the appropriate place to ask this, but i did
not see any mailing list/forum/irc channel or similar thing on the
protobuf-c project page so i thought i'd ask here. I realize that this
is a very long email, so i am extra grateful to anyone who actually
reads it. I am currently having problems with protobuf-c. When i
serialize the message structs that i created, some parts of them are
left out. case in point:
### BEGIN CODE ###

message Point {
  repeated    double        parameters    = 1;
  optional    Error        error        = 2;
}

message GaioQuery {
  repeated    Point        points    = 1;
}

message Message {
  required    int32                    dialog_id        = 1;
  optional    GaioQuery                gaio_query        = 2;
  [...] (left out some stuff here)
  optional    Error                    error            = 10;
}

### END CODE ###

Here, i created a GaioQuery containing 47 points each containing 5
parameters using the methods given by the protobuf-c message. I
confirmed with gdb that the values are present and correct right before
packing them into the byte buffer. On the other side, however, the
message looks like this:

dialog_id: 0
gaio_query {
  points {
  }
  [repeats 46 times]
}

So, the parameters are not transmitted. I inspected the compilation logs
for protobuf-c and came up with the following errors:

### start configure log ###
[...]
configure: WARNING: google/protobuf/stubs/common.h: accepted by the
compiler, rejected by the preprocessor!
configure: WARNING: google/protobuf/stubs/common.h: proceeding with the
compiler's result
[...]
### end configure log ###

### start make log ###
Making all in test
make[2]: Entering directory
`/automount/ag/agstuddellnitz/dominik/pareto/svn/OptGaio/gaio/externalLib/protobuf-c/src/
test'
mkdir -p generated-code
I. --cpp_out=generated-code ./test-full.proto
make[2]: I.: Command not found
make[2]: [generated-code/test-full.pb.cc] Error 127 (ignored)
mkdir -p generated-code
I. --cpp_out=generated-code ./test-full.proto
make[2]: I.: Command not found
make[2]: [generated-code/test-full.pb.h] Error 127 (ignored)
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"
\" -DPACKAGE=\"protobuf-c\" -DVERSION=\"0.10\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLI
B_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DHAVE_DLFCN_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_ENDIAN_H=1
-DIS_LITTLE_ENDIAN=1 -I. -I. -I./..    -I/gauss/user/dominik/s
vn/gaio/externalLib/protobuf/include -MT cxx-generate-packed-data.o -MD
-MP -MF ".deps/cxx-generate-packed-data.Tpo"
-c -o cxx-generate-packed-data.o cxx-generate-packed-data.cc; \
        then mv -f ".deps/cxx-generate-packed-data.Tpo"
".deps/cxx-generate-packed-data.Po"; else rm -f ".deps/cxx-ge
nerate-packed-data.Tpo"; exit 1; fi
cxx-generate-packed-data.cc: In function 'void dump_test_unknown_fields()':
cxx-generate-packed-data.cc:761: error: no matching function for call to
'google::protobuf::UnknownFieldSet::AddField
(int)'
/gauss/user/dominik/svn/gaio/externalLib/protobuf/include/google/protobuf/unknown_field_set.h:108:
note: candidates a
re: void google::protobuf::UnknownFieldSet::AddField(const
google::protobuf::UnknownField&)
cxx-generate-packed-data.cc:762: error: 'class
google::protobuf::UnknownField' has no member named 'add_varint'
cxx-generate-packed-data.cc:763: error: no matching function for call to
'google::protobuf::UnknownFieldSet::AddField
(int)'
/gauss/user/dominik/svn/gaio/externalLib/protobuf/include/google/protobuf/unknown_field_set.h:108:
note: candidates a
re: void google::protobuf::UnknownFieldSet::AddField(const
google::protobuf::UnknownField&)
cxx-generate-packed-data.cc:764: error: 'class
google::protobuf::UnknownField' has no member named 'add_fixed32'
cxx-generate-packed-data.cc:768: error: no matching function for call to
'google::protobuf::UnknownFieldSet::AddField
(int)'
/gauss/user/dominik/svn/gaio/externalLib/protobuf/include/google/protobuf/unknown_field_set.h:108:
note: candidates a
re: void google::protobuf::UnknownFieldSet::AddField(const
google::protobuf::UnknownField&)
cxx-generate-packed-data.cc:769: error: 'class
google::protobuf::UnknownField' has no member named 'add_length_delimi
ted'
cxx-generate-packed-data.cc:770: error: no matching function for call to
'google::protobuf::UnknownFieldSet::AddField
(int)'
/gauss/user/dominik/svn/gaio/externalLib/protobuf/include/google/protobuf/unknown_field_set.h:108:
note: candidates a
re: void google::protobuf::UnknownFieldSet::AddField(const
google::protobuf::UnknownField&)
cxx-generate-packed-data.cc:771: error: 'class
google::protobuf::UnknownField' has no member named 'add_fixed64'
make[2]: *** [cxx-generate-packed-data.o] Error 1
make[2]: Leaving directory
`/automount/ag/agstuddellnitz/dominik/pareto/svn/OptGaio/gaio/externalLib/protobuf-c/src/t
est'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/automount/ag/agstuddellnitz/dominik/pareto/svn/OptGaio/gaio/externalLib/protobuf-c/src'
make: *** [all-recursive] Error 1
### end make log ###

So it appears that the protobuf-c self tests do not work and thus i
suspect the error in my program is a result of protobuf-c not working. I
have no idea why it does not work though and would really appreciate any
help with this.

Hope i did  not  bore you too much
     Dominik Steenken

--~--~---------~--~----~------------~-------~--~----~
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