On 8 Jul 2008, dakatz@akamai.com wrote:
On 7 Jul 2008, dave@boostpro.com wrote:
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?
[...]
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.
So I made the change to the configure script that you suggested and then ran it. Things seemed to work okay at first but soon went awry:
------------------------------------ $ ./configure --with-toolset=gcc-3.3 --prefix=./BUILT Building Boost.Jam with toolset gcc... tools/jam/src/bin.linuxx86/bjam Detecting Python version... 2.2 Detecting Python root... /usr Unicode/ICU support for Boost.Regex?... not found. Backing up existing Boost.Build configuration in user-config.jam.1 Generating Boost.Build configuration in user-config.jam... Generating Makefile...
I took a look at the generated user-config.jam and found this: ------------------------------------ # Boost.Build Configuration # Automatically generated by Boost configure # Compiler configuration using gcc ; # Python configuration using python : 2.2 : /usr ; ------------------------------------ If I understand correctly, this means that boost will now be built with gcc (which is gcc-2.95) rather than the specified gcc-3.3. I imagine that I could fix this by going beyond the quick hack you described above and separating the toolsets for Boost.Jam and for Boost.Build in the configure script (perhaps introducing a TOOLSET_JAM variable or something). Is this the right way to go? Dan