On Thu, Nov 13, 2014 at 5:57 AM, Andrew Capodieci < [email protected]> 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/ > > "make install" will install the protoc in /usr/local/bin by default, so you need to use --with-protoc=/usr/local/bin/protoc here. You can check "/usr/bin/protoc --version" to see whether it's version 2.6.0. > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/protobuf. > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
