
All, Some time ago the following problem surfaced: Robert Ramey wrote:
Almost all the tests for the serialization system fail to link with the following message:
### mwld Linker Error: # Undefined symbol: '_errno' # referenced from 'void boost::unit_test::hrf_report_formatter::report_assertions_stat(class std::basic_ostream<char, struct std::char_traits<char> > &, unsigned int, unsigned long, unsigned long, unsigned long)
(?report_assertions_stat@hrf_report_formatter@unit_test@boost@@UAEXAAV?$basi
c_ostream@DU?$char_traits@D@std@@@std@@IKKK@Z)' in unit_test_result.obj (libboost_test_exec_monitor.lib) ### mwld Linker Error: # Undefined symbol: '_errno' # referenced from 'void boost::unit_test::hrf_report_formatter::report_sub_test_cases_stat(class std::basic_ostream<char, struct std::char_traits<char> > &, unsigned int, unsigned long, unsigned long)
basic_ostream@DU?$char_traits@D@std@@@std@@IKK@Z)' in unit_test_result.obj (libboost_test_exec_monitor.lib)
Errors caused tool to abort.
To me, this suggests some issue regarding
(?report_sub_test_cases_stat@hrf_report_formatter@unit_test@boost@@UAEXAAV?$ libboost_test_exec_monitor.lib .
Anyone care to comment?
I spent most of yesterday and today trying to figure this problem out. What it boiled down to was the "errno" use in the std::log10 function. But that wasn't the real problem... The reason it gives the above error is that when building certain tests like serialization and threads the library was using the multi-threaded runtime while the Boost.Test was using single-threaded runtime. Which needles to say is a very bad thing of the build system to do. Much time later I managed to track down the problem in the build system and fix. Now, the *important* part... This change will affect all platforms that use multiple runtimes. As far as I know this includes all Win32 compilers. So don't be surprised if the next run of regression tests take a long time and more disk space, because different variants of things will get compiled now. And if you are really paranoid about testing, you might be advised to delete the "bin/boost" build directory to start fresh. Enjoy -- the corrected functionality ;-) PS. I'm starting a fresh run of the CW-8.3/release tests now. Which should show a large number of fixed failures. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq