Boost logo

Boost :

From: Jürgen Hunold (juergen.hunold_at_[hidden])
Date: 2007-10-16 03:41:52

Hi !

The latest changes to Boost.Test broke gcc (at least for me)

running the Boost.Test testsuite _all_ tests using BOOST_AUTO_TEST fail with

-- snip --
terminate called after throwing an instance
of '__gnu_cxx::recursive_init_error'
  what():  std::exception

I've attached the output of one test run and the corresponding stack trace.

I've traced this down to
unit_test_suite_impl.hpp, line 287.
This is:

    static auto_tc_exp_fail*& instance()
 ->> static auto_tc_exp_fail inst;
        static auto_tc_exp_fail* inst_ptr = &inst;

        return inst_ptr;

It seems that gcc does something different than msvc...

Ah, yes, gcc -v yields:

Using built-in specs.
Target: x86_64-suse-linux
with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.1.2 --enable-ssp --disable-libssp --disable-libgcj --with-slibdir=/lib64 --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --program-suffix=-4.1 --enable-version-specific-runtime-libs --without-system-libunwind --with-cpu=generic --host=x86_64-suse-linux
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)

Any ideas on how to solve this ?



* Dipl.-Math. Jürgen Hunold       ! Ingenieurgesellschaft für 
* voice: ++49 511 262926 57       ! Verkehrs- und Eisenbahnwesen mbH  
* fax  : ++49 511 262926 99       ! Lister Straße 15
* juergen.hunold_at_[hidden]        !
* Geschäftsführer:                ! Sitz des Unternehmens: Hannover
* Prof. Dr.-Ing. Thomas Siefer    ! Amtsgericht Hannover, HRB 56965
* PD Dr.-Ing. Alfons Radtke       !

Boost list run by bdawes at, gregod at, cpdaniel at, john at