[Report] 41 regressions on RC_1_34_0 (2007-02-27)

Boost Regression test failures Report time: 2007-02-27T00:07:18Z This report lists all regression test failures on release platforms. Detailed report: http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/developer/is... 41 failures in 10 libraries algorithm/string (1) foreach (1) graph (1) iostreams (10) math (3) numeric/interval (1) parameter (1) python (5) regex (4) test (14) |algorithm/string| regex: gcc-3.2.3_linux |foreach| rvalue_const: intel-linux-9.0 |graph| graphviz_test: msvc-7.1_stlport4 |iostreams| bzip2_test: intel-linux-9.0 msvc-7.1 msvc-8.0 file_descriptor_test: gcc-cygwin-3.4.4 gzip_test: intel-linux-9.0 msvc-7.1 msvc-8.0 zlib_test: intel-linux-9.0 msvc-7.1 msvc-8.0 |math| common_factor_test: msvc-6.5 msvc-6.5_stlport4 msvc-7.1_stlport4 |numeric/interval| test_float: msvc-7.1_stlport4 |parameter| python_test: gcc-cygwin-3.4.4 |python| bases: intel-linux-9.0 exec: intel-linux-9.0 pointee: intel-linux-9.0 pointer_type_id_test: intel-linux-9.0 upcast: intel-linux-9.0 |regex| regex_regress_threaded: gcc-cygwin-3.4.4 msvc-6.5_stlport4 msvc-7.1_stlport4 msvc-8.0 |test| boost_check_equal_str: gcc-mingw-3.4.2 msvc-6.5 errors_handling_test: gcc-mingw-3.4.2 fixed_mapping_test: gcc-mingw-3.4.2 ifstream_line_iterator_test: gcc-mingw-3.4.2 output_test_stream_test: gcc-mingw-3.4.2 parameterized_test_test: gcc-mingw-3.4.2 prg_exec_fail3: cw-9.4 result_report_test: gcc-mingw-3.4.2 test_case_template_test: gcc-mingw-3.4.2 test_fp_comparisons: gcc-mingw-3.4.2 test_tools_test: gcc-mingw-3.4.2 msvc-6.5 token_iterator_test: gcc-mingw-3.4.2

On Feb 27, 2007, at 12:00 PM, Douglas Gregor wrote:
|graph| graphviz_test: msvc-7.1_stlport4
I have no idea what's going on here, because the test output does not list any failures. I'm inclined to mark it an expected failure, unless someone has more information? Cheers, Doug

Douglas Gregor wrote:
|iostreams| bzip2_test: intel-linux-9.0 msvc-7.1 msvc-8.0 file_descriptor_test: gcc-cygwin-3.4.4 gzip_test: intel-linux-9.0 msvc-7.1 msvc-8.0 zlib_test: intel-linux-9.0 msvc-7.1 msvc-8.0
I spent a little bit of time looking into the msvc-7.1 and msvc-8.0 regressions for this library. It looks like the zlib and bzip2 libraries used in these tests are being built from source files and it appears that there are some omissions in the iostreams jamfile for properly building them as DLLs in Windows. For zlib, there just needs to be a <link>shared:<define>ZLIB_DLL in its build requirements so that the zlib source files use the __declspec keyword on functions that should be exported. Without this, no functions are exported and the import library file is not created (thus the link errors). With bzip2, the basic problem is the same but its sources use a .DEF file rather than __declspec (at least in the 1.0.4 sources that I looked at). Adding <link>shared:<def-file>$(BZIP2_SOURCE)/libbz2.def properly included the DEF file that gives the exports, but revealed another problem. The DEF file has a 'LIBRARY LIBBZ2' line in it which wants to give the DLL the name libbz2.DLL. Unfortunately the iostreams jam file typically calls the library something like boost_bzip2-vc80-mt-gd-1_34.DLL and specifies an /OUT directive to the linker to ask for this name. At least on my machine with VC8, the /OUT directive overrides the LIBRARY rule enough to make the intended boost_bzip2-vc80-mt-gd-1_34.DLL file, but not enough to get this name into the import .LIB file that boost_iostreams links to. As a result, the iostreams library will compile and link, but will fail trying locate libbz2.DLL (instead of the correct boost_bzip2-vc80-mt-gd-1_34.DLL). The only way I could easily resolve this was to comment out the LIBRARY rule in the libbz2.DEF file in the bzip2 sources like so: ; LIBRARY LIBBZ2 With this change and the patches to the iostreams jamfile, building zlib and bzip2 from sources works correctly and the 3 tests pass. I attached a patch for jamfile.v2 in libs\iostream\build with my changes. It might be good to put a note about the bzip2 .DEF file change in the iostreams documentation. Incidently, using <def-file> revealed a small issue in msvc.jam related to DEF file paths that have spaces in them. The linker command does not put quotes around the DEF path like it does with most of the other parameters, and as a result DEF paths with spaces will cause the link to fail. I also included a patch to msvc.jam to add quotes around DEF file paths. Thanks, -Dave
participants (3)
-
David Deakins
-
Doug Gregor
-
Douglas Gregor