Ops, my bad.  I need to update the docs.

In an effort to streamline the build process I created a repo to host
pre-compiled binaries and headers for the libraries we depend on.

Here is the link to the repo:
http://boinc.berkeley.edu/gitweb/?p=boinc_depends_android_eclipse.git;a=
summary

----- Rom

-----Original Message-----
From: boinc_dev [mailto:[email protected]] On Behalf Of
Paul Whitehead
Sent: Tuesday, August 06, 2013 3:43 PM
To: [email protected]
Subject: [boinc_dev] Boinc/Android - Build Issues (w. some possible
fixes)

Hi,

was wondering if anyone else seen build problems with building Boinc for
Android. Problems start with the build_boinc.sh script. So here's a
little context:

OS/distro: Linux Mint 15, x86_64
uname -r: 3.5.0-17-generic
3GB RAM, 38GB free disk space

Android SDK: v1.6 release 1
Android NDK: ndk-r9
gcc -v: 4.7.2

Got the BOINC source code from: git://boinc.berkeley.edu/boinc-v2.git

Followed the build instructions from: 
http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient

In particular:

- I ensured I exported a correct NDKROOT env var for my system

- script ./build_androidtc.sh works fine and puts the Android toolchain
in ~/android-tc as expected

- modified build_openssl.sh to point to my OpenSSL source dir and the
script build_openssl.sh executes fine with no errors (OpenSSL source I
cloned from: git://git.openssl.org/openssl.git)

- modified build_curl.sh to point to my curl source dir and the script
build_curl.sh executes fine with no errors (curl source I cloned from:
git://github.com/bagder/curl.git)

So running each of the three above scripts on their own or as part of
the "build_all.sh" script succeeds.

The point things start going wrong is with the script "build_boinc.sh",
whether run "standalone" or called as part of the chain of build scripts
in "build_all.sh"

Here are the issues:

1.
Lines 16-17:
export OPENSSL_DIR=$BOINC/../boinc_depends_android_eclipse/openssl
export CURL_DIR=$BOINC/../boinc_depends_android_eclipse/curl

These paths don't exist on my system, so I changed them to point to the
same place as in build_openssl.sh and build_curl.sh respectively. That
mod isn't documented on the
http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient webpage.

2.
That got me somewhat further and up to a compile error for the step 
"making all in api" in build_boinc.sh:

   CXX    boinc_api.lo
boinc_api.cpp: In function 'void worker_signal_handler(int)':
boinc_api.cpp:1247:35: error: 'timer_thread_id' was not declared in this

scope

Fix: "timer_thread_id" should be "timer_thread_handle".

Got past that one, and...

3.
"Copy Assets" step in "build_boinc.sh": couldn't find the file 
ca-bundle.crt in my curl source tree, which is correct - the file isn't 
there. However, there is a file in ../curl (from the BOINC/android 
directory, so still inside the BOINC source tree) called ca-bundle.crt. 
So I'm guessing the build script is just looking in the wrong (curl)
place?
Fixed that problem on line 70 of the build_boinc.sh script like so:

cp "$CURL_DIR/ca-bundle.crt" "BOINC/assets/ca-bundle.crt"
=>
cp "$BOINC/curl/ca-bundle.crt" "BOINC/assets/ca-bundle.crt"

Script build_boinc.sh now happily finding copying the file 
ca-bundle.crt, and builds correct, although with some compiler warnings 
still ("incorrect %lu specifier" and such-like...)

The script build_all.sh, with the above fixes to build_boinc.sh, now 
_almost_ completes successfully, with the last line of build_all.sh 
attempting to call the non-existent script "./copy_assets.sh"


Background:

One of the reasons I wanted to build the Android client is to use the 
external storage on my mobile for at least the app data (BOINC's 
"projects" directory) as right now I can install the Boinc client (+ 
manager) through Google's Play Store on my mobile (LG E400) but it 
refuses to run any apps saying "disk space too low" - which it is: 
system memory is only 157MiB with ~40MiB free, and I need around 100MB 
free. However, I do have an "internal storage" (*) area which is a 
separate 1024MiB partition with 985 MiB free, which would be ideal for 
the BOINC projects directory.

* Confusingly: what is displayed as "internal storage" on my mobile is 
what is usually referred to as "external storage" for the app install/ 
data storage location, which it kind-of is, but isn't the SD Card as 
such, which is separate again at 4GiB but is not available for use from 
the mobile.
Here's more about it: 
http://developer.android.com/guide/topics/data/data-storage.html#filesEx
ternal 
.
In particular in the case of my mobile: "It's possible that a device 
using a partition of the internal storage for the external storage may 
also offer an SD card slot. In this case, the SD card is not part of the

external storage and your app cannot access it (the extra storage is 
intended only for user-provided media that the system scans)."

I see from http://boinc.berkeley.edu/trac/wiki/AndroidBoincTodo that 
Hugo Puhlmann is already working on SD card support. I'm assuming here 
is meant "external storage" rather than explicitly SD Card (as above)? 
If so, then perhaps we can pool resources to get a little more leverage 
on this feature - it's something I as a BOINC on Android user really 
need - otherwise I can't - for all practical purposes - use BOINC 
Android on my mobile.

_______________________________________________
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.

Reply via email to