
AMDG On 12/11/2013 12:36 PM, Ted Byers wrote:
On Wednesday, December 11, 2013 11:52:08 AM Steven Watanabe wrote:
AMDG
AMDG? What is that?
http://en.wikipedia.org/wiki/AMDG
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 http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html) 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