Boost logo

Boost-Build :

From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2006-09-17 20:22:14


Sorry for the long post to follow, not sure how much is relevant :-\

Vladimir Prus wrote:
> I recall you telling you had some problems running V2 regression tests. They
> work just fine for me -- can you tell me what you did and what errors you
> got, so that we can set everything right?

OK, trying it again as I don't immediately remember what the problems
where last time I tried it :-)

1. I launch the MinGW/MSYS shell.
2. export DO_DIFF=diff
3. cd /c/DevRoots/Boost/boost/tools/build/v2/test
4. clear ; python test_all.py

The first failure is:

--- c:\docume~1\grafik\locals~1\temp\tmp_kizivexpected Sun Sep 17
18:55:59 2006
+++ c:\docume~1\grafik\locals~1\temp\tmpzp8sd5actual Sun Sep 17
18:55:59 2006
@@ -1,9 +1,9 @@
-A.act t1: X1-t1
-B.act t1: X1-t1 X2-B
-act t1: X1-t1 X2-global X3-global
-A.act t2: X1-A X2-t2
-B.act t2: X2-t2
-act t2: X1-global X2-t2 X3-global
-A.act t3: X1-A X3-t3
-B.act t3: X2-B X3-t3
-act t3: X1-global X2-global X3-t3
+A.act t1: X1-t1
+B.act t1: X1-t1 X2-B
+act t1: X1-t1 X2-global X3-global
+A.act t2: X1-A X2-t2
+B.act t2: X2-t2
+act t2: X1-global X2-t2 X3-global
+A.act t3: X1-A X3-t3
+B.act t3: X2-B X3-t3
+act t3: X1-global X2-global X3-t3
module_actions : Expected STDOUT ==========
A.act t1: X1-t1
B.act t1: X1-t1 X2-B
act t1: X1-t1 X2-global X3-global
A.act t2: X1-A X2-t2
B.act t2: X2-t2
act t2: X1-global X2-t2 X3-global
A.act t3: X1-A X3-t3
B.act t3: X2-B X3-t3
act t3: X1-global X2-global X3-t3

Actual STDOUT ============
A.act t1: X1-t1
B.act t1: X1-t1 X2-B
act t1: X1-t1 X2-global X3-global
A.act t2: X1-A X2-t2
B.act t2: X2-t2
act t2: X1-global X2-t2 X3-global
A.act t3: X1-A X3-t3
B.act t3: X2-B X3-t3
act t3: X1-global X2-global X3-t3

DIFFERENCE
Unable to compute difference
FAILED

Which is weird because there's no difference from the expected and
actual output AFAICT. And it is indeed able to do the diff as it
displays it. But that's not the interesting problem... Second failure is:

generators_test :
"['c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test\\../../../jam/src\\bin.ntx86\\bjam',
'-sBOOST_BUILD_PATH=c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test',
'-d0', '--quiet', 'gcc']" returned 1
STDOUT ============
warning: no toolsets are configured.
warning: you won't be able to build C++ programs.
warning: please consult the documentation at
warning:
http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html

notice: could not find main target gcc
notice: assuming it's a name of file to create
warn: Unable to construct ./obj_1
error: no generators were found for type 'OBJ'
error: and the requested properties
error: make sure you've configured the needed tools
See http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
To debug this problem, try the --debug-generators option.

STDERR ============

END ===============
FAILED

And that's the cause, either directly or indirectly of the rest of the
failures AFAICT. My user-config.jam is obviously correct as I use it for
  building and testing both Boost and my own code with BBv2. I'm
ataching it for reference. I then go and read through Python code to
find out if it's possible to specify the toolset thinking that maybe if
I specify one things will go better. And I go through the same setup but
use "python test_all.py msvc". And the failure now is:

project_test3 :
"['c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test\\../../../jam/src\\bin.ntx86\\bjam',
'-sBOOST_BUILD_PATH=c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test',
'-d0', '--quiet', 'msvc']" returned 1
-------- all changes caused by last build command ----------
Added files : []
Removed files : []
Modified files: []
Touched files : []
STDOUT ============
notice: could not find main target msvc
notice: assuming it's a name of file to create
don't know how to make <e>msvc

STDERR ============

END ===============
FAILED
project_test4 :
"['c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test\\../../../jam/src\\bin.ntx86\\bjam',
'-sBOOST_BUILD_PATH=c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test',
'-d0', '--quiet', 'msvc']" returned 1
STDOUT ============
notice: could not find main target msvc
notice: assuming it's a name of file to create
don't know how to make <e>msvc

STDERR ============

END ===============
FAILED
generators_test :
"['c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test\\../../../jam/src\\bin.ntx86\\bjam',
'-sBOOST_BUILD_PATH=c:\\DevRoots\\Boost\\boost\\tools\\build\\v2\\test',
'-d0', '--quiet', 'msvc']" returned 1
STDOUT ============
warning: no toolsets are configured.
warning: you won't be able to build C++ programs.
warning: please consult the documentation at
warning:
http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html

notice: could not find main target msvc
notice: assuming it's a name of file to create
warn: Unable to construct ./obj_1
error: no generators were found for type 'OBJ'
error: and the requested properties
error: make sure you've configured the needed tools
See http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
To debug this problem, try the --debug-generators option.

STDERR ============

END ===============
FAILED

So a few more errors now. Seems that my specifying the toolset as an arg
doesn't work as it just doesn't think there are toolsets configured
ever. So instead it things it's a target. I now switch to using a
regular CMD.EXe shell, and it then seems to find the configured
toolsets. But I still get a bunch of errors because expected outputs are
  falsely different, I think:

C:\DevRoots\Boost\boost\tools\build\v2\test>python test_all.py msvc
Note: skipping extra tests
unit_tests : PASSED
module_actions : Expected STDOUT ==========
A.act t1: X1-t1
B.act t1: X1-t1 X2-B
act t1: X1-t1 X2-global X3-global
A.act t2: X1-A X2-t2
B.act t2: X2-t2
act t2: X1-global X2-t2 X3-global
A.act t3: X1-A X3-t3
B.act t3: X2-B X3-t3
act t3: X1-global X2-global X3-t3

Actual STDOUT ============
A.act t1: X1-t1
B.act t1: X1-t1 X2-B
act t1: X1-t1 X2-global X3-global
A.act t2: X1-A X2-t2
B.act t2: X2-t2
act t2: X1-global X2-t2 X3-global
A.act t3: X1-A X3-t3
B.act t3: X2-B X3-t3
act t3: X1-global X2-global X3-t3

Set environmental variable 'DO_DIFF' to examine difference.
FAILED test of
C:\DevRoots\Boost\boost\tools\build\v2\test\../../../jam/src\bin.ntx86\bjam
-sBOOST_BUILD_PATH=C:\DevRoots\Boost\boost\tools\build\v2\t
est -d0 --quiet
         at line 384 of
c:\DevRoots\Boost\boost\tools\build\v2\test\BoostBuild.py (fail_test)
         from line 329 of
c:\DevRoots\Boost\boost\tools\build\v2\test\BoostBuild.py (run_build_system)
         from line 32 of
c:\DevRoots\Boost\boost\tools\build\v2\test\module_actions.py
         from line 34 of test_all.py (run_tests)
         from line 172 of test_all.py

in directory: c:\docume~1\grafik\locals~1\temp\tmpjz2wnsFAILED
startup_v1 : PASSED
startup_v2 : PASSED
core_d12 : PASSED
core_typecheck : PASSED
core_delete_module : PASSED
core_varnames : PASSED
core_import_module : PASSED
rebuilds : PASSED
timedata : PASSED
project_test3 : File bin/msvc/debug/a.obj not added as expected
-------- all changes caused by last build command ----------
Added files : ['lib/bin/msvc-8.0/debug/b.obj',
'lib/bin/msvc-8.0/debug/m.exe', 'lib2/helper/bin/msvc-8.0/debug/e.obj',
'lib2/bin/msvc-8.0/debug/c.ob
j', 'lib2/bin/msvc-8.0/debug/d.obj', 'lib2/bin/msvc-8.0/debug/l.exe',
'lib3/bin/msvc-8.0/debug/f.obj', 'bin/msvc-8.0/debug/a.exe',
'bin/msvc-8.0/debug
/a.obj']
Removed files : []
Modified files: []
Touched files : []
STDOUT ============

STDERR ============

END ===============
FAILED test of
C:\DevRoots\Boost\boost\tools\build\v2\test\../../../jam/src\bin.ntx86\bjam
-sBOOST_BUILD_PATH=C:\DevRoots\Boost\boost\tools\build\v2\t
est -d0 --quiet
         at line 384 of
c:\DevRoots\Boost\boost\tools\build\v2\test\BoostBuild.py (fail_test)
         from line 398 of
c:\DevRoots\Boost\boost\tools\build\v2\test\BoostBuild.py (expect_addition)
         from line 21 of
c:\DevRoots\Boost\boost\tools\build\v2\test\project_test3.py
         from line 34 of test_all.py (run_tests)
         from line 172 of test_all.py

in directory: c:\docume~1\grafik\locals~1\temp\tmpy5szx6FAILED
project_test4 : File bin/msvc/debug/a.obj not added as expected
-------- all changes caused by last build command ----------
Added files : ['lib/bin/msvc-8.0/debug/optimization-speed/b.obj',
'bin/msvc-8.0/debug/a.exe', 'bin/msvc-8.0/debug/a.obj',
'bin/msvc-8.0/debug/b.exe'
]
Removed files : []
Modified files: []
Touched files : []
STDOUT ============

STDERR ============

END ===============
FAILED test of
C:\DevRoots\Boost\boost\tools\build\v2\test\../../../jam/src\bin.ntx86\bjam
-sBOOST_BUILD_PATH=C:\DevRoots\Boost\boost\tools\build\v2\t
est -d0 --quiet
         at line 384 of
c:\DevRoots\Boost\boost\tools\build\v2\test\BoostBuild.py (fail_test)
         from line 398 of
c:\DevRoots\Boost\boost\tools\build\v2\test\BoostBuild.py (expect_addition)
         from line 14 of
c:\DevRoots\Boost\boost\tools\build\v2\test\project_test4.py
         from line 34 of test_all.py (run_tests)
         from line 172 of test_all.py

in directory: c:\docume~1\grafik\locals~1\temp\tmpgv_ujyFAILED
generators_test : File bin/msvc/debug/a.obj not added as expected

I'm guessing that perhaps the generators_test is a real failure, and
possibly others. But it's impossible to tell when there are other bogus
failures. Note, I use the MSYS shell because it is way more convenient
than the regular shell. So I'd rather not hear that I need to use the
CMD shell for this. I guess I'll make a shell script that does the
running for me if that's the case. So my suggestion would be to put in
the test dir a test.bat and test.sh scripts for other people to readily
find with the default/best way to run tests with some brief instructions.

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk