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

One thought on “Seti@Home with a PowerPC running Debian

  1. Even though I am not using GLUT_ALPHA I still get the fooilwlng errorfreeglut (./glexample.out): ERROR: Internal error in function fgOpenWindowX Error of failed request: BadWindow (invalid Window parameter) Major opcode of failed request: 4 (X_DestroyWindow) Resource id in failed request: 0 0 Serial number of failed request: 41 Current serial number in output stream: 45/**************************************************************//*I am trying to compile glexample.c by Neil Gershenfeld (c)*********//*************************************************************/#include#include#include#include#include#include#include#include void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glTranslatef(-.3,0,0); glutSolidSphere(0.5,50,50); glTranslatef(.5,0,0); glutSolidCube(1.0); glPopMatrix(); glFlush(); }void mouse(int button, int state, int x, int y) { exit(0);}main(int argc, char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE |GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500,500); glutCreateWindow( GLUT example ); glutDisplayFunc(display); glutMouseFunc(mouse); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST); glClearColor(1.0,1.0,1.0,1.0); glMatrixMode(GL_PROJECTION); glRotatef(-140.0,1.0,1.0,0.0); glutMainLoop(); }ascc glexample.c -o glexample.out -lglut -lGL -lGLU -lX11 -lm

Leave a Reply

Your email address will not be published. Required fields are marked *