SETI@Kulthea.net

Kulthea.net Home

Home

My SPARC Box

Compiling the BOINC Client

Compiling the SETI@home Client

Downloads

 

Links

SETI@home Classic

SETI@home BOINC

BOINC Project

Ned Slider's SETI-Linux Site

 

Compiling the BOINC Client

To compile the BOINC source code there are a number of required packages you will first need to install if you do not have them already (we're just compiling the client so there is no need for MySQL). I am currently using the Debian "Sarge" distribution and its default GCC-3.3.4 version to compile these binaries.

We first need to download the latest nightly build of the BOINC Client. Make sure you download a boinc_public-cvs version. The non-public ones are development versions and are very likely to be broken in some way, the public CVS builds should be pretty stable. The zip files are for Windows platforms so make sure you get a tar.gz file.

Once you've download it copy it somewhere like /usr/src/ (although it doesn't really matter where you put it) and extract the source files :

cd /usr/src/
tar -zxvf boinc_public-cvs-200?-??-??.tar.gz

Now go into the BOINC folder and compile the Client :

cd boinc_public
export CFLAGS="-mcpu=ultrasparc -O3 -fomit-frame-pointer -funroll-loops -fforce-addr -ffast-math -ftracer"
export CXXFLAGS=$CFLAGS
./configure --disable-server
make clean
make

Wait for a few minutes and that's it! This will produce a binary called boinc_client.

The client includes a benchmark test that can be run by running the client with the -run_cpu_benchmarks switch. I've done this at several stages while trying to optimise the client and acheived the following results :

Basic BOINC Client compile using GCC-2.95...

Dhrystones - 111
Whetstones - 334

Optimised BOINC Client compile using GCC-2.95...

Dhrystones - 125
Whetstones - 384

Optimised BOINC Client compile using GCC-3.3.4...

Dhrystones - 220
Whetstones - 436