wiki:CompileClient

Version 14 (modified by Ageless, 11 years ago) (diff)

--

Compiling BOINC client software

The BOINC client software includes:

  • The core client
  • The BOINC Manager
  • boinc_cmd (Unix/Linux? only)
  • The BOINC screensaver (Windows and Mac only)

Linux/x86

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

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

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:

./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

Use Microsoft Visual Studio 2005. Or download and install Visual C++ 2005 Express Edition (part of Visual Studio 8 Express).

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 version 2.6.4 of WxWidgets.
  • Install the WxWidgets source according to instructions on the web site.
  • 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.
  • Build WxWidgets. See Compiling WxWidgets for details. (for the right options, I followed 1. Your application (delete odbc32.lib), 2. wxWidgets Library.)
  • When done, go File->Close Solution.
  • Then go File->Open Solution->%drive%:boinc/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 version.
  • Go to the Build menu, Build Solution.

All files will be built to %drive%:boinc/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.

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 here.