Software prerequisites (Unix/Linux)
The various parts of BOINC have dependencies on other software. You'll need to install the ones you don't have, and possibly update some of the others. The list depends on which parts of BOINC you need.
If you are creating a BOINC project, you do not need to build the client or Manager.
Server | Client | Manager | Applications | Graphic apps | |
git is needed to obtain the BOINC source code | X | X | X | X | X |
GNU tools: make 3.79+, m4 1.4+, libtool 1.5+, autoconf 2.58+, automake 1.8+, GCC 3.0.4+ | X | X | X | X | X |
pkg-config 0.15+ | X | X | X | X | X |
Python 2.2+ with MySQLdb module 0.9.2+ (see installation instructions) and xml module | X | ||||
MySQL 4.0.9 or higher (with mysql-dev(el), and mysql-client) | X | ||||
sqlite 3.1 or higher (packages sqlite-dev(el) and sqlite) | X | ||||
libnotify-dev | X | ||||
Apache with mod_ssl and PHP5+ | X | ||||
PHP5 with cli support and the GD and MySQL modules (packages php5-cli and php5-gd) | X | ||||
OpenSSL version 0.9.8+ | X | X | |||
libcurl-dev(el) / libcurl4-openssl-dev | X | X | |||
libcurl version 7.17.1+ | X | ||||
wxWidgets 2.8.3 (Configure with the --with-gtk --disable-shared options); BOINC needs a static library. If you have an older wxWidgets installed, uninstall it (make uninstall ), then install 2.8. Make sure you have the 'development' version installed. |
X | ||||
since 7.4.0: wxWidgets 3.0.0 (Configure with the --with-gtk --disable-shared options); BOINC needs a static library. If you have an older wxWidgets installed, uninstall it (make uninstall ), then install 3.0. Make sure you have the 'development' version installed. On Debian you need the packages: libwxgtk3.0-dev, libwxgtk-webview3.0-dev |
X | ||||
Graphics libraries: GL, GLU, GLUT (or freeglut). You'll need a static (.a) version of GLUT or freeglut (some Linux distributions come with only a dynamic version). Use the 'development' version of GLUT or freeglut. | X | ||||
jpeglib, X11 libraries and include files | X | X | |||
libstdc++.a (needed for portable executables; on Fedora, the yum package is libstdc++-static-4.5.1-4.fc14.i686) | X | X |
Examples for setups in various distributions
Packages needed for server and non-graphic library for Fedora Core 17 (Beefy Miracle) are:
- git
- libtool
- gcc-c++
- libstdc++-static
- MySQL-python
- php-mysql
- php-gd
- php-cli
- openssl-devel
- mysql-devel
- mysql-server
- httpd
- php
To build on Ubuntu, I had to install the following (with apt-get):
- git
- python
- make
- m4
- pkg-config
- autoconf
- libtool
- dh-autoreconf
- libmysqlclient-dev
- libssl-dev
- python-mysqldb
- php5-mysql
- libapache2-mod-php5
- php5-gd
- libnotify-dev
To build the screensaver on Ubuntu, I needed
- xcb
- libx11-xcb-dev
- libxcb-util0-dev
Here is the list of packages that are needed to compile the BOINC graphics libs on Debian (the same packages should also be available on Ubuntu):
- freeglut3-dev
- libsm-dev
- libice-dev
- libxmu-dev
- libxi-dev
- libx11-dev
- libjpeg62-dev
On CentOS 7.0, minimal, just compiling the client (run yum -y install gcc-c++ autoconf openssl-devel automake libtool libcurl-devel
):
- gcc-c++
- autoconf
- openssl-devel
- automake
- libtool
- libcurl-devel
On Centos 7.0 to build the client and manager do the following:
- Enable EPEL Repository (see https://fedoraproject.org/wiki/EPEL)
- Run
sudo yum groupinstall "Development tools"
- Run
sudo yum install libXmu-devel libnotify-devel wxGTK3-devel wxGTK3 freeglut freeglut-devel libjpeg libjpeg-devel libXScrnSaver libXScrnSaver-devel xcb-util xcb-util-devel openssl openssl-devel libcurl libcurl-devel sqlite sqlite-devel
- Run
sudo ln -s /usr/bin/wx-config-3.0 /usr/bin/wx-config
For Debian and Ubuntu one may inspect the build dependencies for the .deb packages, which comprise both the client and the server:
- wiki.debian.org/BOINC Instructions to build Debian or Ubuntu packages for BOINC
- debian/control from repository Direct link to "debian/control" file with the "Build-Depends:" line.
- overview on Versions of BOINC in Debian The Debian Package Tracking System on BOINC