Home Computing DAQ E-mail Notes Meetings Subsystems Search

Introduction

Boost is a set of  portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library and making full use of templates. 

We use mainly the Boost.Python library  in LHCb. This library allow us to quickly and easily export a C++ library to Python such that the Python interface is very similar to the C++ interface. It is designed to be minimally intrusive on your C++ design. 

Installation

See the LCG SPI Boost page for package availability and downloads.

Installation instructions for Windows

  1. Download the archive .zip file from download site.
  2. To build the Boost libraries you need to get the Boost.Jam utility which is used for the building process. You can obtain it from here.  Move the Jam executable to the installation root directory.
  3. Set the correct Python environment (.../PYTHON/<version>/cmt/setup.bat).
  4. Boost.Python also needs the environment variables PYTHON_ROOT and PYTHON_VERSION to be defined correctly to the installation of Python and its version.
  5. Set the environment variable MSVCDir to your installation of VC++
  6. Build the Boost libraries for your tools. Execute "bjam -sBOOST_ROOT=. -sTOOLS="msvc"" 
  7. Move produced binary libraries from very deep in the tree structure to the final binary directory ./Win32.

Installation instructions for Linux

  1. Download the archive .tar.gz file from download site, and do untar the file in the desired location.
  2. To build the Boost libraries you need to build the Boost.Jam utility which is used for the building process. For most Unix variants, you can build Boost.Jam by simply invoking make in the tools/build/jam_src subdirectory of your boost installation. Move the resulting executable to the installation root directory. Alternativelly you can obtain the utility from here.
  3. Change to the Boost root directory (the directory you unpacked the distribution into. Among others, it contains the file c++boost.gif, and subdirectories boost, libs, more, etc.)
  4. Set the correct Python environment (source .../PYTHON/<version>/cmt/setup.csh)
  5. Boost.Python also needs the environment variables PYTHON_ROOT, PYTHON_VERSION to be defined correctly to the installation of Python and its version. In addition the variables PYTHON_INCLUDES and PYTHON_LIBPATH may be required is the installation does not match expectations.
  6. Build the Boost libraries for your tools. Execute "bjam -sBOOST_ROOT=. "
  7. Move produced binary libraries from very deep in the tree structure to the final binary directory ./rhNN-gccCCC.

This page last edited by PM on July 19, 2004.