Friday, October 20, 2006

Configuring BOINC for Linux from CVS

This is not very well documented. After trying many permutations of autoconf, autoreconf, etc. I found Building BOINC on Unix, which mentions using _autosetup. This performs the proper sequence of auto... operations to allow configure to run.

I was able to build BOINC (client and server) from the latest development version in the BOINC CVS repository using the following command:
$ ./_autosetup && ./configure --disable-unicode && make
This is step one. From what I know of our requirements a UNICODE build will be necessary.

UPDATE: While I do not know, as yet, if UNICODE is required. I do know that clientgui will not build on Fedora Core 5 without it. This appears to be because gtk2-unicode-release-2.6 is the only wxWidgets configuration that is available as reported by:
$ wx-config --list

Default config is gtk2-unicode-release-2.6

Default config will be used for output

UPDATE
: Installing the packages shown below allows a UNICODE build to be performed. The mysql-server package only needs to be installed if the test/test_sanity.py script is going to be run, or if the BOINC server will be run from this machine. That applies to the chkconfig and service commands as well.
# yum install mysql-devel freeglut-devel wxGTK-devel MySQL-python mysql-server
# /sbin/chkconfig --level 2345 mysqld on
# /sbin/service mysqld start
This must be done logged in as root, the superuser account, or using the su or sudo commands. Once these are installed BOINC may be built using:
$ ./_autosetup
$ ./configure
$ make
NOTE: The blogger post editor seems to have a bug, it keeps wanting to insert "amp;" after the double-ampersands above. The only thing that should appear between each command is two ampersands.

This will leave a couple files in the sea subdirectory. The names will be like boinc_5.4.11_i686-pc-linux-gnu.sh and boinc_5.4.11_i686-pc-linux-gnu_debug.sh, although the numbers may vary. Running one of these will create a BOINC subdirectory that contains the BOINC software and gives instructions on starting it. The files in this directory may be used for testing a new version of BOINC and its libraries, without loading it over the production version that should be installed in /usr/local. The first program installs a non-debugging version, while the second installs a debugging version.

If, while running configure, messages appear indicating that GL, GLU, GLUT, MySQL or wxWidgets are not installed, but they are, loading ccache may correct the problem.

If you are going to build a BOINC project on this machine, the libraries and header files will need to be installed:
# make install
This will place the necessary files under the /usr/local hierarchy.

No comments: