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.

Reply via email to