Should be fixed. ----- Rom
-----Original Message----- From: Charlie Fenton [mailto:[email protected]] Sent: Saturday, January 26, 2013 6:42 AM To: Rom Walton Cc: David Anderson (BOINC) Subject: Re: Errors building wrapper for Android Hi Rom, > It looks like it was using the Linux c++ compiler instead of the the android compiler. Good catch. But actually, it was not using any c++ compiler, but rather it was using the Linux C compiler (gcc) instead of the android C compiler (arm-linux-androideabi-gcc). These are *.c files, not *.cpp files and so it should compile with gcc rather than g++. > In the make file change the references to the cc compiler to $(CXX). I think a better solution is to add the following lines to wrapper/build_android.sh (so we continue to use gcc rather than g++ for *.c files): export CC=arm-linux-androideabi-gcc export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -I$TCINCLUDES/include -I$BOINC_DIR -I$BOINC_LIB_DIR -I$BOINC_API_DIR -I$BOINC_ZIP_DIR" I recommend always exporting CC as well as CXX and CFLAGS as well as CXXFLAGS. This is already being done in boinc/android/build_curl.ssh, boinc/android/build_openssl.sh and boinc/android/build_boinc.sh, but not in boinc/samples/wrapper/build_android.sh or boinc/samples/example_app/build_android.sh. Cheers, --Charlie -- Charlie Fenton [email protected] BOINC / SETI@home Macintosh & Windows Programmer Space Sciences Laboratory UC Berkeley On Jan 25, 2013, at 6:52 PM, Rom Walton wrote: > Hmmmmm > > In the make file change the references to the cc compiler to $(CXX). > > It looks like it was using the Linux c++ compiler instead of the the android compiler. > > ----- Rom > > Charlie Fenton <[email protected]> wrote: > > I was mistaken about the missing.o files. I got the updated wrapper.cpp from GIT, deleted the .o files and tried again, but still get the same errors: > >> boincadm@boinc-build-android:~$ cd >> '/home/boincadm/boinc/samples/wrapper' >> boincadm@boinc-build-android:~/boinc/samples/wrapper$ >> ./build_android.sh >> arm-linux-androideabi-g++ --sysroot=/home/boincadm/android-tc/sysroot -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -I/home/boincadm/android-tc/arm-linux-androideabi/include -I../.. -I../../lib -I../../api -I../../zip -c -o wrapper.o wrapper.cpp >> cc -c -o regexp.o regexp.c >> cc -c -o regsub.o regsub.c >> cc -c -o regerror.o regerror.c >> cc -c -o regexp_memory.o regexp_memory.c >> cc -c -o regexp_report.o regexp_report.c >> arm-linux-androideabi-g++ --sysroot=/home/boincadm/android-tc/sysroot >> arm-linux-androideabi-g++ -DANDROID -Wall -funroll-loops >> arm-linux-androideabi-g++ -fexceptions -O3 -fomit-frame-pointer >> arm-linux-androideabi-g++ -I/home/boincadm/android-tc/arm-linux-andro >> arm-linux-androideabi-g++ ideabi/include -I../.. -I../../lib >> arm-linux-androideabi-g++ -I../../api -I../../zip >> arm-linux-androideabi-g++ -L/home/boincadm/android-tc/sysroot/usr/lib >> arm-linux-androideabi-g++ -L/home/boincadm/android-tc/arm-linux-andro >> arm-linux-androideabi-g++ ideabi/lib -L../.. -L../../lib -L../../api >> arm-linux-androideabi-g++ -L../../zip -llog -o wrapper wrapper.o >> arm-linux-androideabi-g++ regexp.o regsub.o regerror.o >> arm-linux-androideabi-g++ regexp_memory.o regexp_report.o -lboinc_api >> arm-linux-androideabi-g++ -lboinc -lboinc_zip >> arm-linux-androideabi-g++ /home/boincadm/android-tc/arm-linux-android >> arm-linux-androideabi-g++ eabi/lib/libstdc++.a >> /home/boincadm/android-tc/bin/../lib/gcc/arm-linux-androideabi/4.4.3/ >> ../../../../arm-linux-androideabi/bin/ld: regexp.o: Relocations in >> generic ELF (EM: 3) >> /home/boincadm/android-tc/bin/../lib/gcc/arm-linux-androideabi/4.4.3/ >> ../../../../arm-linux-androideabi/bin/ld: regexp.o: Relocations in >> generic ELF (EM: 3) >> /home/boincadm/android-tc/bin/../lib/gcc/arm-linux-androideabi/4.4.3/ >> ../../../../arm-linux-androideabi/bin/ld: regexp.o: Relocations in >> generic ELF (EM: 3) >> regexp.o: could not read symbols: File in wrong format >> collect2: ld returned 1 exit status >> make: *** [wrapper] Error 1 >> boincadm@boinc-build-android:~/boinc/samples/wrapper$ > > Cheers, > --Charlie > > -- > Charlie Fenton [email protected] > BOINC / SETI@home Macintosh & Windows Programmer Space Sciences > Laboratory UC Berkeley > > > > On Jan 25, 2013, at 5:32 PM, Charlie Fenton wrote: > >> Hi Rom, >> >> Running under your Ubuntu VM, I don't see any .o files in the directory after running the build_android.sh script: >> >>> boincadm@boinc-build-android:~$ cd '/home/boincadm/boinc/samples/wrapper' >>> boincadm@boinc-build-android:~/boinc/samples/wrapper$ >>> ./build_android.sh >>> arm-linux-androideabi-g++ --sysroot=/home/boincadm/android-tc/sysroo >>> arm-linux-androideabi-g++ t -DANDROID -Wall -funroll-loops >>> arm-linux-androideabi-g++ -fexceptions -O3 -fomit-frame-pointer >>> arm-linux-androideabi-g++ -I/home/boincadm/android-tc/arm-linux-andr >>> arm-linux-androideabi-g++ oideabi/include -I../.. -I../../lib >>> arm-linux-androideabi-g++ -I../../api -I../../zip >>> arm-linux-androideabi-g++ -L/home/boincadm/android-tc/sysroot/usr/li >>> arm-linux-androideabi-g++ b >>> arm-linux-androideabi-g++ -L/home/boincadm/android-tc/arm-linux-andr >>> arm-linux-androideabi-g++ oideabi/lib -L../.. -L../../lib >>> arm-linux-androideabi-g++ -L../../api -L../../zip -llog -o wrapper >>> arm-linux-androideabi-g++ wrapper.o regexp.o regsub.o regerror.o >>> arm-linux-androideabi-g++ regexp_memory.o regexp_report.o >>> arm-linux-androideabi-g++ -lboinc_api -lboinc -lboinc_zip >>> arm-linux-androideabi-g++ /home/boincadm/android-tc/arm-linux-androi >>> arm-linux-androideabi-g++ deabi/lib/libstdc++.a >>> /home/boincadm/android-tc/bin/../lib/gcc/arm-linux-androideabi/4.4.3 >>> /../../../../arm-linux-androideabi/bin/ld: regexp.o: Relocations in >>> generic ELF (EM: 3) >>> /home/boincadm/android-tc/bin/../lib/gcc/arm-linux-androideabi/4.4.3 >>> /../../../../arm-linux-androideabi/bin/ld: regexp.o: Relocations in >>> generic ELF (EM: 3) >>> /home/boincadm/android-tc/bin/../lib/gcc/arm-linux-androideabi/4.4.3 >>> /../../../../arm-linux-androideabi/bin/ld: regexp.o: Relocations in >>> generic ELF (EM: 3) >>> regexp.o: could not read symbols: File in wrong format >>> collect2: ld returned 1 exit status >>> make: *** [wrapper] Error 1 >>> boincadm@boinc-build-android:~/boinc/samples/wrapper$ >> >> When I run the build_android.sh script in example_app, I do see the uc2.o file and it builds the executable without errors: >> >>> boincadm@boinc-build-android:~/boinc/samples/wrapper$ cd '/home/boincadm/boinc/samples/example_app' >>> boincadm@boinc-build-android:~/boinc/samples/example_app$ ./build_android.sharm-linux-androideabi-g++ --sysroot=/home/boincadm/android-tc/sysroot -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -I/home/boincadm/android-tc/arm-linux-androideabi/include -I../.. -I../../lib -I../../api -I../../zip -c -o uc2.o uc2.cpp >>> arm-linux-androideabi-g++ --sysroot=/home/boincadm/android-tc/sysroo >>> arm-linux-androideabi-g++ t -DANDROID -Wall -funroll-loops >>> arm-linux-androideabi-g++ -fexceptions -O3 -fomit-frame-pointer >>> arm-linux-androideabi-g++ -I/home/boincadm/android-tc/arm-linux-andr >>> arm-linux-androideabi-g++ oideabi/include -I../.. -I../../lib >>> arm-linux-androideabi-g++ -I../../api -I../../zip >>> arm-linux-androideabi-g++ -L/home/boincadm/android-tc/sysroot/usr/li >>> arm-linux-androideabi-g++ b >>> arm-linux-androideabi-g++ -L/home/boincadm/android-tc/arm-linux-andr >>> arm-linux-androideabi-g++ oideabi/lib -L../.. -L../../lib >>> arm-linux-androideabi-g++ -L../../api -L../../zip -llog -o uc2 uc2.o >>> arm-linux-androideabi-g++ ../../api/libboinc_api.a >>> arm-linux-androideabi-g++ ../../lib/libboinc.a >>> arm-linux-androideabi-g++ /home/boincadm/android-tc/arm-linux-androi >>> arm-linux-androideabi-g++ deabi/lib/libstdc++.a >>> boincadm@boinc-build-android:~/boinc/samples/example_app$ >> >> Cheers, >> --Charlie > > _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
