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 -~----------~----~----~----~------~----~------~--~---