Compiling the core client
This page has been moved from Trac directly, and hasn't been cleaned up yet.
Please help improve this page by converting it to MediaWiki formatting, and fixing the links.
This document describes how to build BOINC from the source code. To learn how to simply install BOINC on your system, see Installing BOINC
The BOINC client software includes:
- The core client
- The BOINC Manager
- The Boinccmd tool (Unix/Linux only)
- The BOINC screensaver (Windows and Mac only)
If you want to build the client software for local use on your machine only, it is enough to simply build it using
./_autosetup ./configure --disable-server --enable-client CXXFLAGS="-O3 -funroll-loops -fforce-addr -ffast-math" make
If instead you intend to build portable binaries of the client software that should run on a wide variety of GNU/Linux platforms, it is recommended to build the client software using a virtual machine (e.g. running under Microsoft Virtual PC, download the Compatibility virtual machine image). In this case you should build using:
./_autosetup ./configure --disable-server --enable-client-release --build=i686-pc-linux-gnu \ CXXFLAGS="-O3 -funroll-loops -fforce-addr -ffast-math" make
- Download and install prerequisites
- Download current source code
- Configure (with --disable_server) and make
The result (in the sea/ directory) will be a self-extracting archive (boinc_x.y.z_PLATFORM.sh) containing the BOINC client software. If you have old versions of libraries (curl, openssl etc.) in /usr/lib, and newer versions somewhere else (like /usr/local/lib) you must tell the linker where to find the newer versions:
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
The result (in the sea/ directory) will be a self-extracting archive (boinc_x.y.z_i686-pc-linux-gnu.sh) containing the BOINC client software.
Use Microsoft Visual Studio 2005. Or download and install Visual C++ 2005 Express Edition (part of Visual Studio 8 Express). After it downloaded and "installed", go to your local \Visual Studio 8\Microsoft Visual C++ 2005 Express Edition - ENU\ directory and click setup.exe, which will install VC++ 2005 Express Edition in earnest.
Do not forget to update to Visual Studio 2005 Service Pack 1.
NOTE: When using Visual C++ 2005 Express Edition, you will also need to download and install the Windows Platform SDK. See this article for further details.
- Download the current BOINC source code.
- Download wxWidgets.
- Install the wxWidgets source according to instructions on the web site.
|Build Target||Build Platform||wxWidget Version||Environment Variable|
- In Windows, Start->(Settings)->Control Panel->System, select Advanced; click Environment Variables. Under 'User variables' click New. Create a variable named 'wxwin' with value 'c:\wx' (or wherever you installed it). Then restart Visual Studio.
Example Environment Variables:
- Build wxWidgets. See Compiling wxWidgets for details. You'll need to compile both the Debug and Release targets.
- When done, go File->Close Solution.
- Then go File->Open Solution-><BOINCSRCDIR/>\win_build\boinc.sln and press Open.
- Set up Visual Studio to use the correct platform. From the drop-down menu choose either Win32 (for 32 bit platforms) or x64 (for 64 bit platforms) and choose to make it a Release/Debug version.
- For the latest versions of Visual C++ (e.g. Visual C++ 2008 Express Edition) it may be necessary to include preprocessor macros to direct the compiler to build for the correct Windows version (this was apparently introduced for Windows Vista). E.g. in Project -> <project_name> Properties, I needed to add these entries to Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions: _WIN32_WINNT=0x0501 and NTDDI_VERSION=0x05010200 -- see sdkddkver.h in the SDK include directory for macro values.
- Additional linker dependencies for Visual C++ Express
- Go to the Build menu, Build Solution.
All files will be built to <BOINCSRCDIR/>\win_build\Build\Win32\Release (or Build/x64/Release for 64 bit versions). Versions compiled with Visual C++ 2005 Express use the optimizing compiler. Benchmarks are the same as on versions released by Berkeley. The above steps will always build a development version, if you want to change this, edit <BOINCSCRDIR/>\version.h
You can easily ignore all of the warnings that you get when building. Most of them are for the eyes of the developers.
TODO: instructions for creating an installer with Installshield X.
Mac OS X
Instructions for building the BOINC client on Mac OS X are on a separate page.