Boost logo

Boost Users :

Subject: Re: [Boost-users] How do I build libraries with binaries using two versions of the same toolset
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2013-12-11 15:59:26


On 12/11/2013 12:36 PM, Ted Byers wrote:
> On Wednesday, December 11, 2013 11:52:08 AM Steven Watanabe wrote:
> AMDG? What is that?

> Actually, there are two problems. One is that the libraries would have the
> same names, as you point out, and the solution to that is to install the
> libraries into two different directories. The other is how to tell b2 to use
> gcc 4.7 for the first build and to use gcc 4.8.2 for the other.

In ~/user-config.jam (or $BOOST_ROOT/project-config.jam),
you need:

using gcc : 4.7 : g++ ;
using gcc : 4.8.2 : g++4.8 ;

(See also

Then you can use b2 gcc-4.7 or b2 4.8.2 to build with
a specific version.

> Can I trouble you to explain staging, as it exists in building boost, a bit
> more fully? I thought staging referred to putting the libraries into a
> temporary directory, while being built and tested, and then, only if the tests
> all pass, do they get installed into their final destination. I would assume
> that, by default, the headers would be installed to /usr/local/include/boost,
> and that the library binaries would be installed to /usr/local/lib/boost, and
> normal practice would be to have a temporary staging directory within my home
> directory (and safely disposed of after installation). Is that not right?

stage isn't really an intermediate result. It's
intended to be used by anyone who works directly
out of the Boost source tree. The difference
between stage and install, is that install handles
both the libraries and headers, while stage only
installs the libraries. They are also controlled
by different options. run b2 --help in $BOOST_ROOT
for details.

In Christ,
Steven Watanabe

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at