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.

Reply via email to