Well, you really have too different problems... the test code isn't
working basically because of some sort of configure issue.  I don't
know why but configure isn't finding your "protoc" program (it uses
protoc b/c it generates c++ code to compare the packed data with the c
code's packed data)... apparently there's some incompatibility between
the generated code in the protobuf-c tarball and the protobuf library
you are using.

However, this is not your real problem-- it doesn't affect the library
proper.  It would be helpful if you would give the C code you are
using to populate and serialize your message.

- dave

On Jun 9, 9:38 am, Dominik Steenken <domi...@upb.de> wrote:
> 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