I fixed the compile error; sorry 'bout that.
-- David
On 07-Aug-2013 9:42 AM, Paul Whitehead wrote:
Ok, so I got the pre-built curl and openssl from the repo you gave. I also did a
fresh pull of the boinc source, too. The pre-builts would fix some of the issues
with building openssl and curl natively, but still doesn't fix:
- the "timer_thread_id" compile error in the source code (point 2 below). Any
chance of you checking in a fix for this?
- the seemingly missing "copy_assets.sh" script called from "build_all.sh". Is
it needed and if so, can you provide it?
and with using the pre-built repo:
- "build_boinc.sh" still doesn't work out of the can.
Here's a shortened console output:
--- Configuring BOINC 7.2.4 (Release) ---
...
checking whether libcurl is usable... no
configure: error:
================================================================================
ERROR: could not find (recent enough) development-libs for libcurl.
So if I'm using the prebuilts, the build_boinc.sh shouldn't even need to check
for a dev version of (lib)curl, or am I missing sth? I installed
libcurl4-openssl-dev but that made no difference so went back to yesterday's
scenario of building curl direct from source rather than using your pre-built
version, which worked fine.
Regards,
Paul.
Op 06.08.2013 22:19, Rom Walton schreef:
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 fromhttp://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.
_______________________________________________
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.