dwww Home | Show directory contents | Find package

Help Save the World
-------------------

Boost is a fairly extensive set of libraries, of which I personally
use but a very small part.  I greatly appreciate folks that send
patches to the BTS.  Please do have a look at the outstanding bug
reports and send me hints or patches if you have extra information.


Getting Started
---------------

The following table shows which components use a library (shared or
static) and the corresponding "-l" flag.  All libraries are built
for multithreaded applications.

  Component              Link Flag                      Library Type
  ---------              ---------                      ------------
  Boost.Atomic           -lboost_atomic                 static  shared
  Boost.Chrono           -lboost_chrono                 static  shared
  Boost.Container        -lboost_container              static  shared
  Boost.Context          -lboost_context                static  shared
  Boost.Coroutine        -lboost_coroutine              static  shared
  Boost.Date_Time        -lboost_date_time              static  shared
  Boost.Exception        -lboost_exception              static    x
  Boost.Fiber            -lboost_fiber                  static  shared
  Boost.Filesystem       -lboost_filesystem             static  shared
  Boost.Graph            -lboost_graph                  static  shared
  Boost.Graph_parallel   -lboost_graph_parallel         static  shared
  Boost.IOStreams        -lboost_iostreams              static  shared
  Boost.Locale           -lboost_locale                 static  shared
  Boost.log              -lboost_log                    static  shared
                         -lboost_log_setup              static  shared
  Boost.Math             -lboost_math_c99               static  shared
                         -lboost_math_c99f              static  shared
                         -lboost_math_c99l          [1] static  shared
                         -lboost_math_tr1               static  shared
                         -lboost_math_tr1f              static  shared
                         -lboost_math_tr1l          [1] static  shared
  Boost.MPI              -lboost_mpi                    static  shared
  Boost.Program_options  -lboost_program_options        static  shared
  Boost.Python           -lboost_python-pyPQ        [2] static  shared
                         -lboost_python             [3] static  shared
                         -lboost_mpi_python-pyPQ    [2] static  shared
                         -lboost_mpi_python         [3] static  shared
  Boost.Random           -lboost_random                 static  shared
  Boost.Regex            -lboost_regex                  static  shared
  Boost.Serialization    -lboost_serialization          static  shared
                         -lboost_wserialization         static  shared
  Boost.Signals          -lboost_signals                static  shared
  Boost.System           -lboost_system                 static  shared
  Boost.Test             -lboost_prg_exec_monitor       static  shared
                         -lboost_test_exec_monitor      static    x
                         -lboost_unit_test_framework    static  shared
  Boost.Thread           -lboost_thread                 static  shared
  Boost.Timer            -lboost_timer                  static  shared
  Boost.TypeErasure      -lboost_type_erasure           static  shared
  Boost.Wave             -lboost_wave                   static  shared


[1] Not available on all architectures.
[2] Boost.Python is built for multiple Python versions.  
    For example, Boost 1.48.0 is built for Python 2.6, 2.7, and 3.2; 
    the corresponding libraries are -lboost_python-py26, -py27, and
    -py32.
[3] Symbolic link to the default version of Python (as of build time).

Most of Boost is installed using the package libboostX.Y-dev.
The components with a shared library have separate -dev packages.

There is extensive documentation available in the libboostX.Y-doc
package and at www.boost.org.


Debian Packaging of Boost
-------------------------

Upstream releases quarterly without guaranteeing any backwards
compatibility.  Debian chooses to package two versions of Boost
simultaneously, to enable users to make the transition on their own
time.  The -dev packages are decorated with the Boost version,
e.g. libboost1.39-dev and libboost1.40-dev.  If your code builds only
with a specific version of boost, you can directly install that
specific version.

On the other hand, many of the mature Boost libraries hardly change
from one version to the next.  If your code uses only such stable
libraries, then continually installing versioned -dev packages is a
nuisance.  Debian therefore has a set of "default" Boost development
packages without a version number; e.g. libboost-dev.  These packages
will pull in the version of boost considered most suitable at any
given time.  If your code is not tied to a specific Boost version, you
can use the unversioned development packages.

This strategy was hashed out on debian-release in the Spring of 2009.
See threads starting at:
    http://lists.debian.org/debian-release/2009/03/msg00147.html
    http://lists.debian.org/debian-release/2009/04/msg00251.html
    http://lists.debian.org/debian-release/2009/05/msg00011.html


Example Code
------------

All example code is shipped in libboostX.Y-doc package.

Some of the example code is linked to by the documentation, and thus
appears in a directory named

  /usr/share/doc/libboostX.Y-doc/HTML/libs/*/example

Example code that is not linked from the documentation appears in a
directory under

  /usr/share/doc/libboostX.Y-doc/examples/libs/


Use of boost/nondet_random.hpp
------------------------------

The use of this header file is subject to the availability of class
boost::random_device::impl. Boost libraries provide only an example
implementation which the user may use to fit her needs.

Such implementation is distributed by libboostX.Y-dev Debian package
in file /usr/share/doc/libboostX.Y-dev/examples/random_device.cpp. 
This file is generally good enough for most linux users.  Simply 
copy and modify to suit your needs.


Boost.Test main() function
--------------------------

The Boost unit test framework defines a main() function in the static
library boost_unit_test_framework.a.  Prior to v 1.34, the shared
library also defined main() but it no longer does.

Please see the manual and the following thread for more details
  http://lists.boost.org/boost-users/2008/03/34486.php


 -- Steve M. Robbins <smr@debian.org>, Sat, 15 Oct 2016 22:38:12 -0500

Generated by dwww version 1.15 on Sat Jun 15 19:16:01 CEST 2024.