You're absolutely right Feng, thanks! I had a protoc version 2.4.0 in 
/usr/bin somehow, and I have a protoc version 2.6.0 in /usr/local/bin. Now 
I have an issue with the make check step, where it has a problem executing 
a binary file for all 4 tests, as can be seen in the attached log file.

On Thursday, November 13, 2014 1:52:22 PM UTC-5, Feng Xiao wrote:
>
>
>
> On Thu, Nov 13, 2014 at 5:57 AM, Andrew Capodieci <[email protected] 
> <javascript:>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> 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.

Attachment: make_check.log
Description: Binary data

Reply via email to