I was asked by an academic client to install Boinc Server on FreeBSD. BOINC is a software platform for volunteer computing and desktop Grid computing. FreeBSD has a boinc-client port, but not a port for the server, so it must be compiled manually. Following the instructions located on the Boinc wiki for a FreeBSD installation would result in some errors.
Here is how to get started in FreeBSD:
Follow the normal prerequisite / prep instructions found here: http://boinc.berkeley.edu/trac/wiki/ServerIntro. All the prerequisites can be found in FreeBSD ports, install them including Python and /usr/ports/databases/py-MySQLdb . I installed this in a Jail, stripped down Apache to the bare minimum and set this up for my client so that Apache would automatically include his httpd.project.conf files after running make_project.
The following are some of the things I did differently compared to the Linux install:
svn co http://boinc.berkeley.edu/svn/branches/server_stable boinc cd boinc ./_autosetup |
Without editing the configure script you’ll get the following error while making:
/usr/bin/ld: cannot find -ldl
To fix this, edit the ./configure script:
vi configure |
and remove all occurances of “-ldl “:
:%s/-ldl //g |
-ldl is not required in FreeBSD, it is available in libc.
Run:
./configure --disable-client --disable-manager --with-boinc-platform=x86_64-pc-freebsd |
You may need to replace x86_64-pc-freebsd depending on your hardware. Check the list here: http://boinc.berkeley.edu/trac/wiki/BoincPlatforms
If you ran `make` instead of GNU make`gmake` you’d get these errors:
“Makefile”, line 19: Missing dependency operator
“Makefile”, line 23: Need an operator
“Makefile”, line 27: Need an operator
make: fatal errors encountered — cannot continue
Run:
gmake |
That’s it! Follow the rest of the instructions on the Boinc wiki.