|
I have just spent a lot of time reading the forums and experimenting with the makefiles trying to get a self-compiled BOINC and Seti@home to work, so I might as well share what I found out and maybe save some people some time.
I do not claim to be an expert so don't laugh if I did something stupid, but at least I got it to work.
The reason for compiling it myself was that one WU took about an hour longer than it would have taken when run under Windows on the same machine. The reason being that the CC and Seti@home were compiled without any optimazitions at all.
If I remember correctly this is what I did (I used 07-11 boinc and 07-12 seti) and it's been running fine for some time now. But if anybody has any corrections please post them, also a list of "ideal" compiler flags for different processor types would be nice.
1.) Download the latest sources at http://boinc.berkeley.edu/source/nightly/ and http://boinc.berkeley.edu/seti_source/nightly/ into the same directory
2.) Extract both files, rename the directory boinc_public to boinc. You should now have 2 subdirectories named boinc and seti_boinc.
3.) Change into the boinc directory, run the configure script.
3b) If the compiling process should abort with an error about MySQL missing, search the forums about how to solve that or simply install it.
4.) Find out the best compiler flags for your machine.
5.) cd client
(Export CFLAGS as suggested in the forums did not work for me, so this is what I did:)
[Edit: removed "-ffast-math" because it might lead to invalid results]
6.) Edit the Makefile, add your options to the "CPPFLAGS =" line, for mit it now looks like "CPPFLAGS = -mcpu=athlon-xp -march=athlon-xp -O3 -pipe -mfpmath=sse -m3dnow -msse -mmmx -funroll-loops -fomit-frame-pointer -s -static"
I have no idea if this is the best possible for an AthlonXP since I just copied it from the forums and don't exactly know what it all means, but it works for me. ATTENTION: Do not copy this line if you don't have an AthlonXP.
7.) cd .. , make
8.) Strip the debug code if you want to.
9.) Configure the Seti client
10.) In the client directory edit the Makefile, changing the "CFLAGS =" line to something like "CFLAGS = -g -DHAVE_CONFIG_H -DTEXT_UI -DNDEBUG -DCLIENT -mcpu=athlon-xp -march=athlon-xp -O3 -pipe -mfpmath=sse -m3dnow -msse -mmmx -funroll-loops -fomit-frame-pointer -s -static"
11.) cd .. , make
12.) Copy the boinc client to whatever directory you are going to use, run it with the -attach_project option, benchmarks should run, you should see significant improvement, mine went up from 708/1485 to 1029/1861. Abort when it starts downloading stuff (if you use a proxy you have to edit the client_state.xml file).
13.) Copy the Seti client to the newly created projects/setiathome.berkeley.edu directory.
14.) Create a file called app_info.xml in the projects/setiathome.berkeley.edu directory containing the following (be sure to change the name/filename if necessary):
[Edit]
I just noticed the forums don't display the xml file correctly, so please have a look at http://boinc.berkeley.edu/anonymous_platform.php and change the version/name/filename to the right values.
15.) Run boinc again, it should now work and be a lot faster.
|