on Mon Jul 07 2008, Dan Katz
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