I'm trying to cross compile for a ppc platform from x86 Linux.
I've used the same procedure as I used to successfully cross
compile other tools (not to say that the procedure is actually right)
but I get some errors.  Here's what I tried:

setenv CC /opt/cross_compiler/ppc/gcc-4.1.0-glibc-2.3.6/powerpc-603-
linux-gnu/bin/powerpc-603-linux-gnu-gcc
setenv CXX /opt/cross_compiler/ppc/gcc-4.1.0-glibc-2.3.6/powerpc-603-
linux-gnu/bin/powerpc-603-linux-gnu-g++
setenv PATH "$PATH":/opt/cross_compiler/ppc/gcc-4.1.0-glibc-2.3.6/
powerpc-603-linux-gnu/bin
cd /tmp/pbmpc5200/protobuf-2.0.2rc1/
./configure --target=ppc-603-linux-gnu --host=ppc-603-linux-gnu --
build=i686
make

Here are the errors:
make[2]: Entering directory `/tmp/pbmpc5200/protobuf-2.0.2rc1/src'
./protoc google/protobuf/unittest.proto google/protobuf/
unittest_import.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/compiler/cpp/
cpp_test_bad_identifiers.proto -I. --cpp_out=.
./protoc: line 105: /tmp/pbmpc5200/protobuf-2.0.2rc1/src/.libs/lt-
protoc: cannot execute binary file
./protoc: line 105: /tmp/pbmpc5200/protobuf-2.0.2rc1/src/.libs/lt-
protoc: Success
make[2]: *** [unittest_proto_middleman] Error 1
make[2]: Leaving directory `/tmp/pbmpc5200/protobuf-2.0.2rc1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/pbmpc5200/protobuf-2.0.2rc1'
make: *** [all] Error 2

The libprotobuf.so that I wanted actually was actually created and
works, but there were
errors reported.  Did I configure incorrectly or are these errors just
expected when cross
compiling?  I looks like it might be trying to run a cross compiled
binary?

Similarly, when cross compiling to win32 using mingw, I get an error:

make[2]: Entering directory `/tmp/pbmingw/protobuf-2.0.2rc1/src'
/bin/sh ../libtool --tag=CXX --mode=link /opt/cross-tools/bin/i386-
mingw32msvc-g++  -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-
compare -g -O2   -o protoc.exe  main.o  libprotobuf.la libprotoc.la
/opt/cross-tools/bin/i386-mingw32msvc-g++ -Wall -Wwrite-strings -
Woverloaded-virtual -Wno-sign-compare -g -O2 -o protoc.exe
main.o  ./.libs/libprotobuf.a -L/tmp/mingwtmp/gcc-i386-mingw32msvc/
i386-mingw32msvc/libstdc++-v3/src -L/tmp/mingwtmp/gcc-i386-mingw32msvc/
i386-mingw32msvc/libstdc++-v3/src/.libs -L/tmp/mingwtmp/gcc-i386-
mingw32msvc/gcc -L/opt/cross-tools/i386-mingw32msvc/bin -L/opt/cross-
tools/i386-mingw32msvc/lib -L/opt/cross-tools/lib/../i386-mingw32msvc/
lib ./.libs/libprotoc.a /tmp/pbmingw/protobuf-2.0.2rc1/src/.libs/
libprotobuf.a /opt/cross-tools/i386-mingw32msvc/lib/libstdc++.a -lm
./.libs/libprotobuf.a: could not read symbols: Archive has no index;
run ranlib to add one
collect2: ld returned 1 exit status
make[2]: *** [protoc.exe] Error 1
make[2]: Leaving directory `/tmp/pbmingw/protobuf-2.0.2rc1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/pbmingw/protobuf-2.0.2rc1'
make: *** [all] Error 2

Manually running ranlib on the library seems to work.  So in both
cases,
the builds gave errors but I was able to get the libraries I needed.


Thanks,

           David


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to