summaryrefslogtreecommitdiff
path: root/more/getting_started/detail/build-from-source-tail.rst
blob: dd782ac6c534c180eb91bc73cbd8ae07cf492179 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
.. Copyright David Abrahams 2006. Distributed under the Boost
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Building the special ``stage`` target places Boost
library binaries in the ``stage``\ |/|\ ``lib``\ |/| subdirectory of
the Boost tree.  To use a different directory pass the
``--stagedir=``\ *directory* option to ``b2``.

.. Note:: ``b2`` is case-sensitive; it is important that all the
   parts shown in **bold** type above be entirely lower-case.

For a description of other options you can pass when invoking
``b2``, type::

  b2 --help

In particular, to limit the amount of time spent building, you may
be interested in:

* reviewing the list of library names with ``--show-libraries``
* limiting which libraries get built with the ``--with-``\
  *library-name* or ``--without-``\ *library-name* options
* choosing a specific build variant by adding ``release`` or
  ``debug`` to the command line.

.. Note:: Boost.Build can produce a great deal of output, which can
     make it easy to miss problems.  If you want to make sure
     everything is went well, you might redirect the output into a
     file by appending “``>build.log 2>&1``” to your command line.

Expected Build Output
---------------------

During the process of building Boost libraries, you can expect to
see some messages printed on the console.  These may include

* Notices about Boost library configuration—for example, the Regex
  library outputs a message about ICU when built without Unicode
  support, and the Python library may be skipped without error (but
  with a notice) if you don't have Python installed.

* Messages from the build tool that report the number of targets
  that were built or skipped.  Don't be surprised if those numbers
  don't make any sense to you; there are many targets per library.

* Build action messages describing what the tool is doing, which
  look something like:

  .. parsed-literal::

    *toolset-name*.c++ *long*\ /\ *path*\ /\ *to*\ /\ *file*\ /\ *being*\ /\ *built*

* Compiler warnings.

In Case of Build Errors
-----------------------

The only error messages you see when building Boost—if any—should
be related to the IOStreams library's support of zip and bzip2
formats as described here__.  Install the relevant development
packages for libz and libbz2 if you need those features.  Other
errors when building Boost libraries are cause for concern.

__ ../../libs/iostreams/doc/installation.html

If it seems like the build system can't find your compiler and/or
linker, consider setting up a ``user-config.jam`` file as described
`here`__.  If that isn't your problem or the ``user-config.jam`` file
doesn't work for you, please address questions about configuring Boost
for your compiler to the `Boost.Build mailing list`_.

__ http://www.boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html