= Software prerequisites (!Unix/Linux) = The various parts of BOINC have dependencies on other software; most or all of these may already be present on your system. You'll need to download and install the ones you don't have. The list depends on the system you're on, and the parts of BOINC that you need. '''If you are creating a BOINC project, you do not need to build the Core client or BOINC Manager.''' || || Server || Core client || BOINC Manager || Applications || Graphic apps || '''[http://subversion.tigris.org/ Subversion] (SVN) ''' [[BR]] is needed to obtain the BOINC source code || X || X || X || X || X || || '''[http://directory.fsf.org/GNU/ GNU tools]:''' [[BR]] make 3.79+, m4 1.4+, libtool 1.5+, [[BR]] autoconf 2.58+, automake 1.8+, GCC 3.0.4+ || X || X || X || X || X || || '''[http://pkg-config.freedesktop.org/wiki/ pkg-config]''' 0.15+ || X || X || X || X || X || || '''Python''' 2.2+ with [http://sourceforge.net/projects/mysql-python MySQLdb module 0.9.2+] [[BR]] (see [PythonMysql 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 || || || || '''Apache''' with mod_ssl and PHP5+ || X || || || || || || '''[http://www.php.net/ PHP5]''' with [http://www.php.net/features.commandline cli support] and the [http://www.php.net/gd GD] and MySQL modules [[BR]](packages php5-cli and php5-gd) || X || || || || || || '''[http://www.openssl.org/ OpenSSL]''' version 0.9.8+ || X || X || || || || || '''[http://curl.haxx.se/ libcurl]''' version 7.17.1+ || || X || || || || || '''[http://www.wxwidgets.org/ wxWidgets]''' 2.8.3 [[BR]] (Configure with the `--with-gtk` `--disable-shared` options); [[BR]] BOINC needs a static library. [[BR]] If you have an older wxWidgets installed, [[BR]]uninstall it (`make uninstall`), then install 2.8. [[BR]]Make sure you have the 'development' version installed. || || || X || || || || '''Graphics libraries:''' GL, GLU, GLUT (or freeglut). [[BR]]You'll need a static (.a) version of GLUT or freeglut [[BR]](some Linux distributions come with only a dynamic version). [[BR]]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: To build the server software on FC14, I had to yum in the following modules: * subversion-1.6.13-1.fc14.i686 (for svn) * libtool-2.2.10-3.fc14.i686 (for libtoolize) * gcc-c++-4.5.1-4.fc14.i686 (for g++) * libstdc++-static-4.5.1-4.fc14.i686 (for libstdc++.a, needed by sample apps) * MySQL-python-1.2.3-0.5.c1.fc14.i686 (for MySQLdb) * php-mysql * php-gd To build on Ubuntu, I had to install the following (with apt-get): * subversion * python * make * m4 * pkg-config * dh-autoreconf * libssl-dev * python-mysqldb * php5-mysql * libapache2-mod-php5 For Debian and Ubuntu one may inspect the build dependencies for the .deb packages, which comprise both the client and the server: * [[http://wiki.debian.org/BOINC#Installationfromsource wiki.debian.org/BOINC]] Instructions to build Debian or Ubuntu packages for BOINC * [[http://git.debian.org/?p=pkg-boinc/boinc.git;a=blob;f=debian/control;hb=HEAD debian/control from repository]] Direct link to "debian/control" file with the "Build-Depends:" line. * [[http://packages.qa.debian.org/b/boinc.html overview on Versions of BOINC in Debian]] The Debian Package Tracking System on BOINC