Seti@Home with a PowerPC running Debian

I’ve been trying to get my Seti@Home to work on my old Mac Mini (PowerPC) running Debian. First I got some precompiled binaries(http://www.dotsch.de/boinc/SETI@home%20applications.html) that didn’t work.

Since I am a programmer at heart, I decided that I would get the source code for boinc and seti@home and compile them both.

I first checked out the following code:

svn co http://boinc.berkeley.edu/svn/branches/boinc_core_release_6_2
svn checkout https://setisvn.ssl.berkeley.edu/svn/seti_boinc

With this set of code, seti@home didn’t compile. It turns out that the current release of seti@home(revision 575) depended on values that weren’t in the boinc_core_release_6_2.

I next checked out the following release of boinc, and the example app didn’t work.

svn co http://boinc.berkeley.edu/svn/trunk/boinc

The example app would error out with some of the following information:

[New Thread 805426400 (LWP 15190)]

Program received signal SIGSEGV, Segmentation fault.
0x100073d4 in __gnu_cxx::__exchange_and_add ()
(gdb) backtrace
#0 0x100073d4 in __gnu_cxx::__exchange_and_add ()
#1 0x1001ecec in ~PROXY_INFO (this=0x10046728)
at /usr/lib/gcc/powerpc-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/basic_string.h:232
#2 0x10015ad4 in ~APP_INIT_DATA (this=0x10045250) at app_ipc.cpp:60
#3 0x10011a58 in __tcf_0 () at boinc_api.cpp:89
#4 0x0fdc31b4 in exit () from /lib/tls/libc.so.6
#5 0x10002378 in main (argc=1, argv=0x7fd46874) at uc2.cpp:168

It turns out the main trunk isn’t functioning at the moment. So if you update your code to a diffent revision we should be okay. After some searching I found the following seems to work.

svn update -r 18818

The next issue that I ran into was that my computer mentions it is a PowerPC, so the source code tries to act like I have Mac OS X or Darwin installed, which I don’t.

After running _autoconf in the seti_boinc folder, change the following in the configure file.

 if test -n "`echo ${target} | grep 'powerpc'`" -o -n "`echo ${target} | grep 'ppc'`" ; then
  PPC_TRUE=
  PPC_FALSE='#'
else
  PPC_TRUE='#'
  PPC_FALSE=
fi

to

 if test -n "`echo ${target} | grep 'powerpc'`" -o -n "`echo ${target} | grep 'ppc'`" ; then
  PPC_TRUE='#'
  PPC_FALSE=
#  PPC_TRUE=
#  PPC_FALSE='#'
else
  PPC_TRUE='#'
  PPC_FALSE=
fi

This is to bypass the auto detection of the OS that seems to break the compile process.

This is everything extra that I needed to do to get Debian PowerPC Seti@Home to work!

Kim