Boost logo

Boost :

Subject: [boost] Boost.Build is broken?
From: Gennadiy Rozental (rogeeff_at_[hidden])
Date: 2011-11-07 05:52:35


Hi,

Frankly I do not know who supports Boost.Build, but how long it'll stay broken?
I can't say when it started, but ever since I started working on Boost.Test
changes I experience constant problems. I can't believe I am the only one.

1. When you take boost trunk and go into Boost.Test build or test directory and
try building using any toolset it immediately fails with:

..\..\..\libs\test\build\Jamfile.v2:110: in modules.load
rule boost-install unknown in module Jamfile</.../trunk/libs/test/build>.
.../trunk/tools/build/v2/build\project.jam:314: in load-jamfile
.../trunk/tools/build/v2/build\project.jam:62: in project.load
.../trunk/tools/build/v2/build\project.jam:766: in project.use
.../trunk/tools/build/v2/build\project.jam:89: in load-used-projects
.../trunk/tools/build/v2/build\project.jam:73: in load
.../trunk/tools/build/v2/build\project.jam:115: in load-parent
.../trunk/tools/build/v2/build\project.jam:464: in initialize
.../trunk/tools/build/v2/build\project.jam:309: in load-jamfile
.../trunk/tools/build/v2/build\project.jam:62: in load
.../trunk/tools/build/v2/build\project.jam:115: in load-parent
.../trunk/tools/build/v2/build\project.jam:464: in initialize
.../trunk/tools/build/v2/build\project.jam:309: in load-jamfile
.../trunk/tools/build/v2/build\project.jam:62: in load
.../trunk/tools/build/v2/build\project.jam:168: in project.find
.../trunk/tools/build/v2\build-system.jam:570: in load
.../trunk\tools\build\v2/kernel\modules.jam:283: in import
.../trunk\tools\build\v2\kernel\bootstrap.jam:142: in boost-build
.../trunk\boost-build.jam:17: in module scope

2. Once I remove boost-install from Boost.Test Jamfile, I get bun of errors like
this:

..\..\..\libs\test\src\compiler_log_formatter.cpp(16) : fatal error C1083:
Cannot open include file: 'boost/test/impl/compiler_log_formatter.ipp': No such
file or directory

Essentially boost home directory is missing from include path. How come?

3. Once I add "<include>../../.." into requirements section I can build with
msvc toolsets. Now I am trying to use gcc toolset on Windows. I have latest
cygwin installation and I am getting these errors (lots of them):

gcc.compile.c++
..\..\..\libs\test\build\bin\gcc\debug\link-static\compiler_log_formatter.o

    "g++" ... # compilation line here

Access is denied.

Apparently g++ is not an executable anymore with cygwin. I am able to workaround
this by adding

using gcc : 4.5.3 : g++-4.exe ;

into user-config.jam, but why Boost.Build can't figure this out and do I need to
support this file now myself?

4. After the fix I am able to build dll based tests, but when I attempt to use
static library version of Boost.Test I am getting:

gcc.archive
..\..\..\libs\test\build\bin\gcc-4.5.3\
debug\link-static\libboost_unit_test_framework.a

    "/usr/i686-pc-cygwin/bin/ar.exe" rc .... # list of object files here
    "/usr/i686-pc-cygwin/bin/ranlib.exe" ... # lib here

The system cannot find the path specified.
The system cannot find the path specified.

This one I do not know how to fix. So the situation is that I cannot test any
static library based unit tests (as a side note, this inability was the cause of
crashes which interrupted trunk testing month ago). I addition whenever I want
to check in my local changes to Jamfile (excluding hacks which I actually do not
want to check in) it is rather annoying process.

Any help would be appreciated,
Gennadiy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk