Boost logo

Boost Testing :

Subject: [Boost-testing] CygWin picks .obj extension, but needs .o
From: Jim Bell (Jim_at_[hidden])
Date: 2010-01-19 07:25:35


I'm trying the regression tests under CygWin 1.7.1 (recently released).

The regression summary shows only boost build running and failing.

I found that it seems to be getting the extension wrong, looking for .obj
when gcc is producing .o.

I was failing 5 build tests (alias.py, alternatives.py, build_file.py,
clean.py, copy_time.py) all with the same symptom, output below.

When I hack up these five python files, changing .obj to .o, all the build
tests pass, but the rest of the regression test is still bypassed.

I noticed that there's a mapping mechanism in
tools/build/v2/tools/types/obj.py, which has a specific entry for CYGWIN. I
removed that in both places (also tools_bb/tools/types) but still won't run
the regression test, and it doesn't seem to affect the five python build
tests.

Searching the .py files, I see over a dozen CYGWIN decision-points, but I'm
not sure what to try next. (And I see cygwin sets the 'windows' flag, which
I'm sure brings in many more decision-points.)

Note that tools_bjam/bin.cygwinx86/bjam.exe does get built, and seems sane.

The first compile, accumulators/test/count.cpp, works, and I see CygWin's
paths translated to Windows (e.g., /cygdrive/c/... becomes C:\... and '/'
become '\'). That means bjam is talking to gcc, right? Further,
count.output, count.run and count.test are there and show 'passed'. Many
others also do fine, with the first trouble at asio.

Thanks!
-Jim

Build-test failure output:
-------------------------
Run []: fail
failure {{{
File bin/gcc-4.3.4*/debug/a.obj not added as expected
}}}
changes caused by the last build command {{{
Added files : ['bin/gcc-4.3.4/debug/a.exe', 'bin/gcc-4.3.4/debug/a.o']
Removed files : []
Modified files: []
Touched files : []

}}}
STDOUT {{{

}}}
STDERR {{{

}}}
stacktrace {{{
at line 560 of
/cygdrive/c/tmp/boost_rt/trunk/boost/tools/build/v2/test/BoostBuild.py
(fail_test)
?from line 576 of
/cygdrive/c/tmp/boost_rt/trunk/boost/tools/build/v2/test/BoostBuild.py
(expect_addition)
?from line 42 of
/cygdrive/c/tmp/boost_rt/trunk/boost/tools/build/v2/test/alias.py
(test_alias_rule)
?from line 104 of
/cygdrive/c/tmp/boost_rt/trunk/boost/tools/build/v2/test/alias.py (<module>)
?from line 51 of test_all.py (run_tests)
?from line 235 of test_all.py (<module>)

}}}
--------------------------

End of bjam.log:
--------------------------
====== BEGIN OUTPUT ======

**** exception(205): std::runtime_error: The Boost path appears to have been
incorrectly set: could not find boost/version.hpp in
/cygdrive/c/tmp/boost_rt/trunk/boost
******** errors detected; see standard output for details ********

EXIT STATUS: 200
====== END OUTPUT ======
...failed testing.capture-output
/cygdrive/c/tmp/boost_rt/trunk/results/boost/bin.v2/tools/bcp/test/bcp-test.
test/gcc-4.3.4/release/link-static/bcp-test.run...
...failed updating 230 targets...
...skipped 819 targets...
...updated 6 targets...
--------------------------


Boost-testing list run by mbergal at meta-comm.com