Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2008-07-07 17:39:11


on Mon Jul 07 2008, Dan Katz <dakatz-AT-akamai.com> wrote:

> Hi -
>
> I'm trying to build boost-1.35 on a Linux 2.4 machine where both
> gcc-2.95 (the default) and gcc-3.3 (the one I'd like to use) are
> installed, and I'm having a lot of problems. Perhaps you can help me
> figure out how to go forward?
>
>
>
> Attempt #1 -- use the configure script
> ========================================================================
> To begin, I started by following the online instructions at
>
> http://www.boost.org/doc/libs/1_35_0/more/getting_started/unix-variants.html
>
> where it says (section 5.1) "Select your configuration options and
> invoke ./configure again...", so I selected the --with-toolset and
> --prefix options as follows:
>
> ------------------------------------
> boost_1_35_0$ ./configure --with-toolset=gcc-3.3 --prefix=./BUILT

Looks good to me.

> Building Boost.Jam with toolset gcc-3.3... ./configure: ./bootstrap/jam0: No such file or directory
> tools/jam/src//bjam

Urr. Looks like the procedure for building Boost.Jam is using a
Boost.Build toolset name. They are distinct sets. Doug?

> Detecting Python version... 2.2
> Detecting Python root... /usr
> Unicode/ICU support for Boost.Regex?... not found.
> Generating Boost.Build configuration in user-config.jam...
> Generating Makefile...
> boost_1_35_0$
> ------------------------------------
>
> where I got the idea that the argument to --with-toolset should be
> gcc-3.3 from the description of toolsets in section 5.2.2 of the
> documentation which describes how to name toolsets for Boost.Build and
> states that
>
> If you have multiple versions of a particular compiler installed,
> you can append the version number to the toolset name, preceded by a
> hyphen, e.g. intel-9.0 or borland-5.4.3.

You got the command right; there's a bug in the configure script.

Try changing the line in ./configure that reads

  # Determine the toolset, if not already decided
  if test "x$TOOLSET" = x; then

so that it reads:

  # Determine the toolset, if not already decided
  if test "x$TOOLSET" != y; then

This is a hack, but it will build bjam with your system compiler no
matter which toolset you've requested for your Boost build. That should
be fine.

> Of course, trying to run the generated makefile fails miserably:
>
> ------------------------------------
> boost_1_35_0$ make install
> ./tools/jam/src//bjam --user-config=user-config.jam --prefix=./BUILT --exec-prefix=./BUILT --libdir=./BUILT/lib --includedir=./BUILT/include install
> /bin/sh: ./tools/jam/src//bjam: No such file or directory
> Not all Boost libraries built properly.
> boost_1_35_0$
> ------------------------------------

Nothing wrong with the makefile other than that bjam didn't build.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net