SETI@Kulthea.net |
Kulthea.net Home |
|
Compiling the SETI@home Client
Links
|
Compiling the SETI@home Client The SETI@home client is the program that actually does the processing of work units. The idea of optimising the SETI client is to reduce the amount of time it takes to process those work units. In actual fact there would appear to be very little you can do to optimise the SETI@home Client but minor improvements may be possible. You'll need a copy of the BOINC source code used to compile the BOINC Client and the SETI source code from the same nightly build. Make sure you get the tar.gz version and not the zip windows file. Important : The SETI Client requires shared libraries from the BOINC build in order to compile. However, the -ffast-math flag we originally used when compiling the BOINC Client will cause problems with the compiled SETI Client if we use those versions. So before compiling the SETI Client make sure you delete your boinc_public folder first (but make sure you've copied the boinc_client binary to somewhere safe first!) and re-extract the files from the source archives.
Next we need to rename the folder to just boinc so that the SETI build will find it and also recompile the BOINC Client without using the -ffast-math flag.
This will more than likely throw up a few errors (unless you have MySQL installed) but those will be related to the server build and we don't need to worry about those. Running make with the -k switch will continue to compile even if errors are encountered. With the BOINC Client recompiled we now need to compile the SETI Client.
On my machine I kept getting a load of errors complaining about malloc and realloc. From what I can only assume is a bug in the configure script, a false path is added to the makefile - /usr/bin/X11/xlsfonts/include but xlsfonts is actually a file on my machine and not a directory. I tried manually editing this path and even removing it completely but it still gave errors when compiling. What I had to do was temporarily rename xlsfonts to something else before running the configure script and after this it would compile fine. Something else you may see errors messages for is unable to find file glut.h. I presume glut.h is required for some GL graphics functions and isn't essential for just building the command line client but installing the freeglut3 and freeglut3-dev packages got rid of the error messages for me. If using Debian it's a simple case of running apt-get install freeglut3 freeglut3-dev to install the packages.
|