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.

Reply via email to