Banana Pi

Message boards : Number crunching : Banana Pi
Message board moderation

To post messages, you must log in.

AuthorMessage
corax

Send message
Joined: 22 Mar 13
Posts: 3
Credit: 259,721
RAC: 1
Message 1651406 - Posted: 10 Mar 2015, 15:16:48 UTC

Hi,

I was looking for a binary for my Banana Pi. Don't found anything.
Anybody knows where I can get one?
The Banana Pi got a ARM Cortex-A7 CPU like the RPi 2.

I Also tried to compile it myself, but I got this error message:
configure: WARNING:  boinc not found.

Boinc is installed! It works fine with Einstein and Asteroids.

Btw: The Banana runs Bananian, it's Debian based.
ID: 1651406 · Report as offensive
Wedge009
Volunteer tester
Avatar

Send message
Joined: 3 Apr 99
Posts: 451
Credit: 431,396,357
RAC: 553
Australia
Message 1651753 - Posted: 11 Mar 2015, 18:51:08 UTC - in response to Message 1651406.  

If you're compiling, I believe you need the BOINC source available not just the BOINC binary installation.
Soli Deo Gloria
ID: 1651753 · Report as offensive
corax

Send message
Joined: 22 Mar 13
Posts: 3
Credit: 259,721
RAC: 1
Message 1651762 - Posted: 11 Mar 2015, 19:07:35 UTC

Thanks for your answer!
In the meantime I installed the most Boinc packages, include boinc-dev. I think this is what you mean. Nothing happend, still "boinc not found".
ID: 1651762 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1651809 - Posted: 11 Mar 2015, 20:52:37 UTC - in response to Message 1651762.  

Thanks for your answer!
In the meantime I installed the most Boinc packages, include boinc-dev. I think this is what you mean. Nothing happend, still "boinc not found".

You need to tell the ./configure where your BOINC headers are located. E.g.
[tegra-ubuntu:seti_boinc] > head -50 config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by setiathome_v7 configure 7.28, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure BOINCDIR=../boinc --enable-fast-math --disable-graphics

## --------- ##
## Platform. ##
## --------- ##

hostname = tegra-ubuntu
uname -m = armv7l
uname -r = 3.10.24-g6a2d13a
uname -s = Linux
uname -v = #1 SMP PREEMPT Fri Apr 18 15:56:45 PDT 2014

ID: 1651809 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1651830 - Posted: 11 Mar 2015, 21:22:47 UTC
Last modified: 11 Mar 2015, 21:31:20 UTC

The steps I've been using to build an Armv7 app are:

Get the prerequisites (there is a problem with using --disable-graphics when building the app from the current source, so you need the graphics app prerequisites too):

sudo apt-get install git make m4 libtool autoconf pkg-config automake g++ gcc subversion libfftw3-dev libcurl4-openssl-dev libssl-dev gettext docbook2x docbook-xml libxml2-utils zlib1g-dev libsm-dev libice-dev libxmu-dev libxi-dev libx11-dev libnotify-dev freeglut3-dev libfcgi-dev libjpeg8-dev libxss-dev libxcb-util0-dev libxcb-dpms0-dev libxext-dev

(I haven't included libwxgtk2.8-dev libsqlite3-dev libgtk2.0-dev they shouldn't be needed unless you want to build Boinc and Boinc Manager too)

Get the Boinc source code, then make the libs and api:

git clone git://boinc.berkeley.edu/boinc-v2.git boinc

cd boinc

./_autosetup

./configure --disable-server --disable-client --disable-manager LDFLAGS=-static-libgcc

make

Now get the Seti_boinc source, and build the app:

cd ~

svn checkout https://setisvn.ssl.berkeley.edu/svn/seti_boinc seti_boinc

cd seti_boinc

./_autosetup

./configure CFLAGS="-O3" CXXFLAGS="-O3" BOINCDIR=${HOME}/boinc --enable-client --enable-static --disable-shared --disable-server --enable-dependency-tracking --with-gnu-ld --disable-altivec --enable-fast-math

make


Claggy
ID: 1651830 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1652022 - Posted: 12 Mar 2015, 9:55:50 UTC
Last modified: 12 Mar 2015, 9:56:13 UTC

One Note, If when compiling the app, If it fails with an error, check the client sub-directory anyway for the compiled app, there are two Bugs with compiling seti_boinc from head,

if you try and use --disable-graphics, it fails with the following (these examples are from x86_64 compilation attempts):

mv -f .deps/seti_boinc-xml_util.Tpo .deps/seti_boinc-xml_util.Po
g++ -g -O2 -fPIE -fstack-protector -Wformat -Werror=format-security -I//home/stephen/boinc -I//home/stephen/boinc/lib -I//home/stephen/boinc/api -O3 -I/usr/local/include -g -O2 -fPIE -fstack-protector -Wformat -Werror=format-security -I//home/stephen/boinc -I//home/stephen/boinc/lib -I//home/stephen/boinc/api -O3 -I/usr/local/include -I/usr/include -I/usr/include/openssl -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT -I../db -I/home/stephen/boinc -I/home/stephen/boinc/api -I/home/stephen/boinc/lib -I/home/stephen/boinc/sched -I/home/stephen/boinc/db -pthread -msse2 -mfpmath=sse -DUSE_SSE -DUSE_SSE2 -pthread -static-libgcc -L/usr/local/lib -L/usr/lib -static -static-libgcc -L/usr/local/lib -o seti_boinc seti_boinc-main.o seti_boinc-analyzeFuncs_vector.o seti_boinc-analyzeFuncs_fpu.o seti_boinc-analyzeFuncs_sse.o seti_boinc-analyzeFuncs_sse2.o seti_boinc-analyzeFuncs_sse3.o seti_boinc-analyzeFuncs_avx.o seti_boinc-analyzeFuncs_x86_64.o seti_boinc-analyzeFuncs_altivec.o analyzeFuncs_neon.o analyzeFuncs_vfp.o seti_boinc-analyzeFuncs_vfp_aux.o seti_boinc-x86_float4.o seti_boinc-hires_timer.o seti_boinc-analyzeFuncs.o seti_boinc-analyzeReport.o seti_boinc-analyzePoT.o seti_boinc-pulsefind.o seti_boinc-gaussfit.o seti_boinc-lcgamm.o seti_boinc-malloc_a.o seti_boinc-seti.o seti_boinc-seti_header.o seti_boinc-timecvt.o seti_boinc-s_util.o seti_boinc-sah_version.o seti_boinc-worker.o seti_boinc-chirpfft.o seti_boinc-spike.o seti_boinc-autocorr.o seti_boinc-progress.o seti_boinc-fft8g.o seti_boinc-gdata.o seti_boinc-schema_master.o seti_boinc-sqlrow.o seti_boinc-sqlblob.o seti_boinc-xml_util.o -lboinc_api -lboinc -lfftw3f -lm -lssl -lcrypto -lssl -lcrypto
/usr/bin/ld: cannot find -lboinc_api
/usr/bin/ld: cannot find -lboinc

collect2: error: ld returned 1 exit status
make[2]: *** [seti_boinc] Error 1
make[2]: Leaving directory `/home/stephen/seti_boinc/client'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/stephen/seti_boinc'
make: *** [all] Error 2

If you use a more minimal configure, it fails with the following, but the app is still compiled:

In file included from <command-line>:0:0:
//home/stephen/boinc/lib/../config.h:732:0: note: this is the location of the previous definition
#define VERSION "7.5.0"
^
readwu.cpp:47:20: fatal error: export.h: No such file or directory
#include "export.h"

^
compilation terminated.
make[2]: *** [readwu_so-readwu.o] Error 1
make[2]: Leaving directory `/home/stephen/seti_boinc/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/stephen/seti_boinc'
make: *** [all] Error 2


Claggy
ID: 1652022 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1652549 - Posted: 13 Mar 2015, 17:24:58 UTC - in response to Message 1652022.  

One Note, If when compiling the app, If it fails with an error, check the client sub-directory anyway for the compiled app, there are two Bugs with compiling seti_boinc from head,

If you use a more minimal configure, it fails with the following, but the app is still compiled:

In file included from <command-line>:0:0:
//home/stephen/boinc/lib/../config.h:732:0: note: this is the location of the previous definition
#define VERSION "7.5.0"
^
readwu.cpp:47:20: fatal error: export.h: No such file or directory
#include "export.h"

^
compilation terminated.
make[2]: *** [readwu_so-readwu.o] Error 1
make[2]: Leaving directory `/home/stephen/seti_boinc/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/stephen/seti_boinc'
make: *** [all] Error 2


Claggy

You're right, the executable was there. Running now, tho' BOINC doesn't seem to be reliably able to determine the number of CPU cores -- sometimes it thinks 1, sometimes 2, finally settled on 4. I've never worked out how to use the fifth core in Ubuntu, but since it's less powerful and the "real" CPUs look like they'll take about 100,000 seconds per WU I doubt that it would bring me much anyhow.
ID: 1652549 · Report as offensive
Profile BilBg
Volunteer tester
Avatar

Send message
Joined: 27 May 07
Posts: 3720
Credit: 9,385,827
RAC: 0
Bulgaria
Message 1652704 - Posted: 14 Mar 2015, 1:33:47 UTC - in response to Message 1652549.  

BOINC doesn't seem to be reliably able to determine the number of CPU cores -- sometimes it thinks 1, sometimes 2, finally settled on 4. I've never worked out how to use the fifth core in Ubuntu ...

You have to be able to use <ncpus>N</ncpus> in cc_config.xml to force/tell BOINC you have N CPUs (cores)
 


- ALF - "Find out what you don't do well ..... then don't do it!" :)
 
ID: 1652704 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1652829 - Posted: 14 Mar 2015, 12:15:13 UTC - in response to Message 1652704.  

BOINC doesn't seem to be reliably able to determine the number of CPU cores -- sometimes it thinks 1, sometimes 2, finally settled on 4. I've never worked out how to use the fifth core in Ubuntu ...

You have to be able to use <ncpus>N</ncpus> in cc_config.xml to force/tell BOINC you have N CPUs (cores)

Yeah, thanks, I guess that'll solve it!
<test>
14-Mar-2015 12:03:03 [---] CUDA: NVIDIA GPU 0: GK20A (driver version unknown, CUDA version 6.0, compute capability 3.2, 1746MB, 808MB available, 327 GFLOPS peak)
14-Mar-2015 12:03:03 [SETI@home] Found app_info.xml; using anonymous platform
14-Mar-2015 12:03:03 [---] Host name: tegra-ubuntu
14-Mar-2015 12:03:03 [---] Processor: 4 ARM ARMv7 Processor rev 3 (v7l)
14-Mar-2015 12:03:03 [---] Processor features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
14-Mar-2015 12:03:03 [---] OS: Linux: 3.10.24-g6a2d13a
14-Mar-2015 12:03:03 [---] Memory: 1.71 GB physical, 0 bytes virtual
14-Mar-2015 12:03:03 [---] Disk: 58.55 GB total, 53.88 GB free
14-Mar-2015 12:03:03 [---] Local time is UTC +0 hours
14-Mar-2015 12:03:03 [---] Config: simulate 4 CPUs
14-Mar-2015 12:03:03 [---] Config: use all coprocessors

top - 12:06:11 up 4 days,  1:54,  5 users,  load average: 5.15, 4.68, 4.86
Tasks: 209 total,   6 running, 202 sleeping,   0 stopped,   1 zombie
%Cpu(s):  0.2 us, 10.4 sy, 89.1 ni,  0.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   1788136 total,  1697140 used,    90996 free,    47592 buffers
KiB Swap:        0 total,        0 used,        0 free.   123656 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                          
10604 ubuntu    39  19   73156  70636   1780 R  93.4  4.0   2:33.12 setiathome-7.28                                  
10605 ubuntu    39  19   73300  70868   1772 R  89.4  4.0   2:31.85 setiathome-7.28                                  
10607 ubuntu    39  19   70684  68452   1776 R  73.7  3.8   2:32.95 setiathome-7.28                                  
10606 ubuntu    39  19   73220  70700   1788 R  72.3  4.0   2:31.89 setiathome-7.28                                  
10608 ubuntu    30  10  403984  99964  17072 S  25.3  5.6   0:49.50 setiathome_x41z                                  
10609 ubuntu    30  10  406208 102680  17376 R  24.7  5.7   0:48.96 setiathome_x41z                                  

Sofa so good...
</test>
Cheers!
ID: 1652829 · Report as offensive
corax

Send message
Joined: 22 Mar 13
Posts: 3
Credit: 259,721
RAC: 1
Message 1652910 - Posted: 14 Mar 2015, 17:41:26 UTC

Hi,

I tried it the way Claggy described.
Building of Boinc was fine.

Now, configure runs fine... more or less.
It ends up with
/bin/rm: cannot remove `libtoolT': No such file or directory

Is that ok? Probably not.

After that, make get 2 errors.
analyzeReport.cpp:(.text+0xee8): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
seti_boinc-autocorr.o: In function `FindAutoCorrelation(float*, int, int, SETI_WU_INFO&)':
autocorr.cpp:(.text+0x168): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
collect2: ld returned 1 exit status
make[2]: *** [seti_boinc] Fehler 1
make[2]: Leaving directory `/home/pi/downloads/seti/seti_boinc/client'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/pi/downloads/seti/seti_boinc'
make: *** [all] Fehler 2
ID: 1652910 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1652926 - Posted: 14 Mar 2015, 18:24:28 UTC - in response to Message 1652910.  
Last modified: 14 Mar 2015, 18:35:56 UTC

Hi,

I tried it the way Claggy described.
Building of Boinc was fine.

Now, configure runs fine... more or less.
It ends up with
/bin/rm: cannot remove `libtoolT': No such file or directory

Is that ok? Probably not.

Yes, that's fine, just continue after that.

After that, make get 2 errors.
analyzeReport.cpp:(.text+0xee8): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
seti_boinc-autocorr.o: In function `FindAutoCorrelation(float*, int, int, SETI_WU_INFO&)':
autocorr.cpp:(.text+0x168): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
collect2: ld returned 1 exit status
make[2]: *** [seti_boinc] Fehler 1
make[2]: Leaving directory `/home/pi/downloads/seti/seti_boinc/client'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/pi/downloads/seti/seti_boinc'
make: *** [all] Fehler 2

I had that too (when trying to do a Armv6 app), I fixed it by using the latest (2015-02-16) Raspbian Image on a different SDCard, then it worked, only difference, my error had it in five places:

seti_boinc-analyzeReport.o: In function `result_spike(SPIKE_INFO&)':
analyzeReport.cpp:(.text+0x4dc): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
seti_boinc-analyzeReport.o: In function `result_gaussian(GAUSS_INFO&)':
analyzeReport.cpp:(.text+0x914): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
seti_boinc-analyzeReport.o: In function `ReportTripletEvent(float, float, float, float, int, int, int, float const*, int)':
analyzeReport.cpp:(.text+0x1234): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
seti_boinc-analyzeReport.o: In function `ReportPulseEvent(float, float, float, int, int, float, float, float*, int, int)':
analyzeReport.cpp:(.text+0x1450): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
seti_boinc-autocorr.o: In function `FindAutoCorrelation(float*, int, int, SETI_WU_INFO&)':
autocorr.cpp:(.text+0x1cc): undefined reference to `boinc_temporary_exit(int, char const*, bool)'
collect2: ld returned 1 exit status
Makefile:555: recipe for target 'seti_boinc' failed
make[2]: *** [seti_boinc] Error 1
make[2]: Leaving directory '/home/pi/seti_boinc/client'
Makefile:455: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pi/seti_boinc'
Makefile:378: recipe for target 'all' failed
make: *** [all] Error 2


Note: Beware, anyone trying to compile an Armv6 app on a Pi will probably find it compiles O.K, But won't run on a Pi for more than a minute or so, But will run on a Armv7 equipped Pi 2 without problem, you have been warned.
(That is still a work in progress)

Claggy
ID: 1652926 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1653249 - Posted: 15 Mar 2015, 17:15:55 UTC - in response to Message 1652926.  

ID: 1653249 · Report as offensive

Message boards : Number crunching : Banana Pi


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.