wiki:CompileClient

Version 87 (modified by romw, 9 years ago) (diff)

Fix Compat VM link

Compiling BOINC client software

The BOINC client software includes:

Linux

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 "
make
cd packages/generic/sea/
make

The executables are located under the folder BOINC.

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 Oracle VirtualBox, 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

See details of the build system.

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.

Other Unix

  • 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 may need to tell the linker where to find the newer versions, as in:

./configure LDFLAGS=-L/usr/local/lib

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

Windows

Visual Studio 2013 Community Edition Build Environment

Software Prerequisites:

All the Visual Studio project files assume that the dependency store is a sibling of the BOINC source repo. An example directory layout would look like this:

C:\Src
|
+--+ boinc
|
+--+ boinc_depends_win_vs2013

Building via the Command Line

Most everything developers will need to do during release management is handled by batch files. All these collections of batch files depend on the BOINC Build Environment for Windows.

Launching the BOINC Build Environment for Windows:

cd \src\boinc\win_build
buildenv type release platform x64

Buildenv accepts several different parameters to customize what you are going to be able to build. Command parameters are as follows:

Initializing BOINC Build Environment for Windows
Usage: buildenv.cmd TYPE <type> PLATFORM <platform> [Optional Commands]

  Commands:
    DEVENVDIR:  Which build environment executed this batch file.
    TYPE:  Which build environment are you building executables for.
      Current Values: Release/Debug
    PLATFORM: Which platform are you building for.
      Current Values: x86/amd64/ia64

You should get this output on success:

Initializing BOINC Build Environment for Windows
Software Platform Detected: Visual Studio 2013

To build everything, execute 'build all' from the build environment:

C:\Src\boinc>build all
Building the World...
  Building BOINC:
    Success
  Building BOINC Manager:
    Success
  Building BOINC Command:
    Success
  Building BOINC Screen Saver:
    Success
  Building BOINC Screen Saver Controller:
    Success
  Building BOINC Service Controller:
    Success
  Building BOINC System Tray:
    Success

Building via Visual Studio

Double-click on the boinc_vs2013.sln file in the win_build directory to launch Visual Studio 2013. From here you should be able to perform any build operation you want.

Mac OS X

Instructions for building the BOINC client on Mac OS X are on a separate page.