Grid Computing: Installing Boinc Server on FreeBSD

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.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>