Version 30 (modified by 17 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
- 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:
./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). 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 Release Win32 2.8.x WXWIN Release x64 2.8.x WXWINX64 Debug Win32 2.8.x WXWIN Debug x64 2.8.x WXWINX64 ReleaseSigned Win32 2.6.x WXWINPROD ReleaseSigned x64 2.6.x WXWINPRODX64
- 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: WXWIN=C:\Src\SDKs\wx28 WXWINPROD=C:\Src\SDKs\wx26 WXWINPRODX64=C:\Src\SDKs\wx26x64 WXWINX64=C:\Src\SDKs\wx28x64
- 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
- boinc_dll
- advapi32.lib
- user32.lib
- boinc
- advapi32.lib
- gdi32.lib
- user32.lib
- boincmgr
- oleaut32.lib
- boinc_dll
- 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.