I took a look at the specific lines for the errors, and the /usr/bin/protoc I built for the build machine is having issues on the following lines:
172 // For oneof test *173 oneof oneof_field {* 174 uint32 oneof_uint32 = 111; 175 NestedMessage oneof_nested_message = 112; 176 string oneof_string = 113; 177 bytes oneof_bytes = 114; 178 } // Test oneofs. 609 message TestOneof { *610 oneof foo {* 611 int32 foo_int = 1; 612 string foo_string = 2; 613 TestAllTypes foo_message = 3; 614 group FooGroup = 4 { 615 optional int32 a = 5; 616 optional string b = 6; 617 } 618 } 619 } 631 message TestOneof2 { *632 oneof foo {* 633 int32 foo_int = 1; 634 string foo_string = 2; 635 string foo_cord = 3 [ctype=CORD]; 636 string foo_string_piece = 4 [ctype=STRING_PIECE]; 637 bytes foo_bytes = 5; 638 NestedEnum foo_enum = 6; 639 NestedMessage foo_message = 7; 640 group FooGroup = 8 { 641 optional int32 a = 9; 642 optional string b = 10; 643 } 644 NestedMessage foo_lazy_message = 11 [lazy=true]; 645 } 646 *647 oneof bar {* 648 int32 bar_int = 12 [default = 5]; 649 string bar_string = 13 [default = "STRING"]; 650 string bar_cord = 14 [ctype=CORD, default = "CORD"]; 651 string bar_string_piece = 15 [ctype=STRING_PIECE, default = "SPIECE" ]; 652 bytes bar_bytes = 16 [default = "BYTES"]; 653 NestedEnum bar_enum = 17 [default = BAR]; 654 } 671 message TestRequiredOneof { *672 oneof foo {* 673 int32 foo_int = 1; 674 string foo_string = 2; 675 NestedMessage foo_message = 3; 676 } 677 message NestedMessage { 678 required double required_double = 1; 679 } 680 } *853 service TestService {* 854 rpc Foo(FooRequest) returns (FooResponse); 855 rpc Bar(BarRequest) returns (BarResponse); 856 } On Thursday, November 13, 2014 8:57:59 AM UTC-5, Andrew Capodieci wrote: > > I'm trying to cross compile google Protocol buffers for the Raspberry Pi, > so I can cross compile my own software which links to protobuf. > > I've installed protobuf-2.6.0 to the directory > ~/ExternalLibs/protobuf-2.6.0, where I perform the following steps: > > cd ~/ExternalLibs/protobuf-2.6.0 > ./configure --disable-shared > make > make check > > -- all (5/5) tests pass > > sudo make install > make distclean > > This should set up the initial protoc executable that can be run by my > build machine (Lenovo w540 laptop running Ubuntu 12.04) during the cross > compiling for my host, the raspberry pi. > > I then run: > > ./configure --host=arm-linux-gnueabi CC=/opt/cross/x-tools/arm-unknown > -linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc CXX=/opt/cross/x-tools/ > arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++ --with-protoc= > /usr/bin/protoc --prefix=/home/andrewc1204/raspberrypi_crosscompile/ > protobuf_xtools/ > > My cross compiler was built following this tutorial: > http://www.bootc.net/archives/2012/05/26/how-to-build-a-cross-compiler-for-your-raspberry-pi/. > > The only extra thing I did was enable an additional c++ compiler on top of > building the c compiler in the ct-ng menus, which is why I'm able to use > the g++ compiler on top of the gcc compiler. > > This ./configure seems to run, and then I call > > make > > The output is as follows: > > > make all-recursive > make[1]: Entering directory > `/home/andrewc1204/ExternalLibs/protobuf-2.6.0' > Making all in . > make[2]: Entering directory `/home/andrewc1204/ExternalLibs/protobuf- > 2.6.0' > make[2]: Leaving directory > `/home/andrewc1204/ExternalLibs/protobuf-2.6.0' > Making all in src > make[2]: Entering directory > `/home/andrewc1204/ExternalLibs/protobuf-2.6.0/src' > /usr/bin/protoc -I. --cpp_out=. google/protobuf/unittest.proto > google/protobuf/unittest_empty.proto google/protobuf/unittest_import.proto > google/protobuf/unittest_import_public.proto > google/protobuf/unittest_mset.proto > google/protobuf/unittest_optimize_for.proto > google/protobuf/unittest_embed_optimize_for.proto > google/protobuf/unittest_custom_options.proto > google/protobuf/unittest_lite.proto > google/protobuf/unittest_import_lite.proto > google/protobuf/unittest_import_public_lite.proto > google/protobuf/unittest_lite_imports_nonlite.proto > google/protobuf/unittest_no_generic_services.proto > google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto > google/protobuf/unittest.proto:173:3: Expected "required", "optional", > or "repeated". > google/protobuf/unittest.proto:173:21: Missing field number. > google/protobuf/unittest.proto:610:3: Expected "required", "optional", > or "repeated". > google/protobuf/unittest.proto:610:13: Missing field number. > google/protobuf/unittest.proto:632:3: Expected "required", "optional", > or "repeated". > google/protobuf/unittest.proto:632:13: Missing field number. > google/protobuf/unittest.proto:647:3: Expected "required", "optional", > or "repeated". > google/protobuf/unittest.proto:647:13: Missing field number. > google/protobuf/unittest.proto:672:3: Expected "required", "optional", > or "repeated". > google/protobuf/unittest.proto:672:13: Missing field number. > google/protobuf/unittest.proto:853:1: Expected "required", "optional", > or "repeated". > google/protobuf/unittest.proto:853:21: Missing field number. > google/protobuf/unittest.proto:862:1: Reached end of input in message > definition (missing '}'). > make[2]: *** [unittest_proto_middleman] Error 1 > make[2]: Leaving directory `/home/andrewc1204/ExternalLibs/protobuf- > 2.6.0/src' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory > `/home/andrewc1204/ExternalLibs/protobuf-2.6.0' > make: *** [all] Error 2 > > I'm stuck at this point, and don't know what else to check to try and > debug this problem. Any help is greatly appreciated! Please let me know if > any additional information is helpful and I will gladly supply it. > -- 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.