It appears you aren't linking in the math library (-lm)
On Mon, Jul 28, 2014 at 5:39 PM, fabien monnier <[email protected]> wrote: > Dear Boinc Dev community, > > I am actually using the makefile in the boinc-master/samples to build an > application that i wrote with the boinc api for android. > > The application have only the boinc_init() and boinc_finish(0) directives. > > The source name is : picompute_thread_boinc.c > This file include pthread.h, stdio.h, boinc_api.h, util.h, config.h, > filesys.h, mfile.h > I installed the android NDK and built the standalone toolchain r9 > I use a Makefile that I found in the sample folder of boinc package and > adapted it. > > Make file : > > *PROGS = picompute_thread_boinc* > > *all: $(PROGS)* > > *clean:* > * rm $(PROGS) *.o* > > *picompute_thread_boinc: picompute_thread_boinc.o > $(BOINC_LIB_DIR)/libboinc.a $(BOINC_API_DIR)/libboinc_api.a* > * $(CC) $(CFLAGS) $(LDFLAGS) -o picompute_thread_boinc > picompute_thread_boinc.o $(BOINC_API_DIR)/libboinc_api.a > $(BOINC_LIB_DIR)/libboinc.a $(STDCPPTC)* > > > What there is in CFLAGS : --sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE > -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -I$TCINCLUDES/include > -I$BOINC_DIR -I$BOINC_LIB_DIR -I$BOINC_API_DIR -I$BOINC_ZIP_DIR > > Result of the make (actually the build.sh because build.sh is setting up > the appropriate environment variable such as CC, CFLAG, etc... and exec > make Makefile_android) > > arm-linux-androideabi-gcc --sysroot=/opt/android-r9-toolchain/sysroot > -DANDROID -DDECLARE_TIMEZONE -Wall > -I/opt/android-r9-toolchain/arm-linux-androideabi/include -O3 > -fomit-frame-pointer > -I/opt/android-r9-toolchain/arm-linux-androideabi/include -Iboinc-master > -Iboinc-master/lib -Iboinc-master/api -Iboinc-master/zip > -L/opt/android-r9-toolchain/sysroot/usr/lib > -L/opt/android-r9-toolchain/arm-linux-androideabi/lib -Lboinc-master > -Lboinc-master/lib -Lboinc-master/api -Lboinc-master/zip -llog -o > picompute_thread_boinc picompute_thread_boinc.o > boinc-master/api/libboinc_api.a boinc-master/lib/libboinc.a > /opt/android-r9-toolchain/arm-linux-androideabi/lib/libstdc++.a > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-util.o): in function > dday():util.cpp(.text+0x14c): error: undefined reference to 'fmod' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-util.o): in function > boinc_sleep(double):util.cpp(.text+0x214): error: undefined reference to > 'fmod' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-util.o): in function > update_average(double, double, double, double, double&, > double&):util.cpp(.text+0x39c): error: undefined reference to 'exp' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-util.o): in function > rand_normal():util.cpp(.text+0x924): error: undefined reference to 'log' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-util.o): in function > rand_normal():util.cpp(.text+0x934): error: undefined reference to 'sqrt' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-util.o): in function > rand_normal():util.cpp(.text+0x968): error: undefined reference to 'sin' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-util.o): in function > rand_normal():util.cpp(.text+0x98c): error: undefined reference to 'cos' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-opencl_boinc.o): in function > > OPENCL_DEVICE_PROP::get_opencl_driver_revision():opencl_boinc.cpp(.text+0x334): > error: undefined reference to 'floor' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-str_util.o): in function > ndays_to_string(double, int, char*):str_util.cpp(.text+0xa0): error: > undefined reference to 'fmod' > > /opt/android-r9-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: > boinc-master/lib/libboinc.a(libboinc_la-str_util.o): in function > ndays_to_string(double, int, char*):str_util.cpp(.text+0xcc): error: > undefined reference to 'fmod' > collect2: ld returned 1 exit status > make: *** [picompute_thread_boinc] Error 1 > > > Can someone help me to fix this issue to be able to build for android > platforms ? > > Thank you so much for your help. > > -- > -- > Best regards, > Fabien Monnier > _______________________________________________ > 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. > _______________________________________________ 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.
