[vom Raspberry Pi v2 ...] nano ~/.bashrc #At the end of the file add: CC=gcc export CC #v1 CFLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4 -ffast-math -funsafe-math-optimizations -O3" #v2 CFLAGS="-march=native -mfloat-abi=hard -mfpu=neon -ftree-vectorize -mvectorize-with-neon-quad -ffast-math -mcpu=cortex-a15.cortex-a7 -O3" -mcpu= export CFLAGS CXXFLAGS="$CFLAGS" export CXXFLAGS #Logout and log back in to activate the updated .bashrc file. #Get prerequisites sudo apt-get update sudo apt-get install git make m4 libtool autoconf pkg-config automake subversion 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 libxss-dev libxcb-util0-dev libxcb-dpms0-dev libxext-dev libstdc++-4.8-dev libjpeg-dev ####################################################### ##### Get and build the FFTW libraries ################ wget http://www.fftw.org/fftw-3.3.4.tar.gz tar zxvf fftw-3.3.4.tar.gz cd fftw-3.3.4 ./configure --enable-float --enable-neon make -j4 make install cd ~ ######################################################## #### Get and build the Boinc libraries - Version 7.4.42 #### Raspbian Jessie has Boinc version 7.4.23 available. git clone https://github.com/BOINC/boinc boinc cd boinc git checkout client_release/7.4/7.4.42; git status ./_autosetup ./configure --disable-server --disable-manager LDFLAGS=-static-libgcc --with-boinc-alt-platform=arm-unknown-linux-gnueabihf make cd ~ #### ! or current Boinc: #### git clone https://github.com/BOINC/boinc boinc cd boinc ./_autosetup ./configure --disable-server --disable-manager LDFLAGS=-static-libgcc --with-boinc-platform=arm-unknown-linux-gnueabihf make -j4 #(to make with 4 cores) cd ~ ############################################################ ##### Now get the Seti_Boinc source, and build the app: #### ## working version 3304: svn checkout https://setisvn.ssl.berkeley.edu/svn/seti_boinc@3304 seti_boinc ## current (do not compile): #svn checkout https://setisvn.ssl.berkeley.edu/svn/seti_boinc seti_boinc cd seti_boinc ./_autosetup ./configure BOINCDIR=/root/boinc --enable-client --enable-static --disable-shared --disable-server --enable-dependency-tracking --with-gnu-ld --disable-altivec --enable-fast-math make -j4 ls -l client #if setiathome-8.0.armv7l-unknown-linux-gnueabihf exists, compilation has been successful. ################################################### #### App Setup: cp ~/seti_boinc/client/setiathome-8.0.armv7l-unknown-linux-gnueabihf ~/ cd ~ nano app_info.xml #Copy and paste the following into the file: setiathome_v8 SETI@home v8 setiathome-8.0.armv7l-unknown-linux-gnueabihf setiathome_v8 800 setiathome-8.0.armv7l-unknown-linux-gnueabihf ################################################################################ #To build a tar.gz to move to another computer: tar cvzf setiathome-8.0.armv7l-unknown-linux-gnueabihf.tar.gz setiathome-8.0.armv7l-unknown-linux-gnueabihf app_info.xml #To install and run the app you just built on a Raspberry Pi, first install boinc-client: sudo apt-get install boinc-client #Next attach to the Seti project: boinccmd --project_attach http://setiathome.berkeley.edu [YOUR KEY GOES HERE] #Copy the app and the app_info.xml files to the project folder: cp setiathome-8.0.armv7l-unknown-linux-gnueabihf /var/lib/boinc-client/projects/setiathome.berkeley.edu/ cp app_info.xml /var/lib/boinc-client/projects/setiathome.berkeley.edu/ #Change the file permissions to boinc:boinc: chown boinc:boinc /var/lib/boinc-client/projects/setiathome.berkeley.edu/setiathome-8.0.armv7l-unknown-linux-gnueabihf chown boinc:boinc /var/lib/boinc-client/projects/setiathome.berkeley.edu/app_info.xml #Finally, restart boinc-client so it will use the new app: /etc/init.d/boinc-client restart