[signals] msvc-6.5 failures

There are four failures of the signals library on msvc-6.5, like this http://tinyurl.com/tc4et All are access violations on runtime. Doug, do you think you'll have the time next week to look into this? Anybody else is willing to debug the problem? If not, I don't think it makes much sense to hold a release because of problems with many-years-old compiler, so I'll just mark the failures as expected. Thanks, Volodya

Vladimir Prus wrote:
There are four failures of the signals library on msvc-6.5, like this ...
Pardon my ignorance, but what exactly is MSVC 6.5? I see that there is a column for it in the regression test tables, but I don't know what it refers to. I am not aware of any compiler release from Microsoft with this number. These are all the C++ compiler releases from Microsoft since 1998, as far as I know: Release IDE Compiler Internal _MSC_VER Year Name version version value ------- ---- -------- -------- -------- 1998 Visual Studio 6.0 Visual C++ 6.0 12.0 1200 2002 Visual Studio .NET Visual C++ 7.0 13.0 1300 2003 Visual Studio .NET 2003 Visual C++ 7.1 13.1 1310 2005 Visual Studio 2005 Visual C++ 8.0 14.0 1400 When was there a release called 6.5? Moshe

Moshe Matitya wrote:
Vladimir Prus wrote:
There are four failures of the signals library on msvc-6.5, like this ...
Pardon my ignorance, but what exactly is MSVC 6.5? I see that there is a column for it in the regression test tables, but I don't know what it refers to. I am not aware of any compiler release from Microsoft with this number. These are all the C++ compiler releases from Microsoft since 1998, as far as I know:
Release IDE Compiler Internal _MSC_VER Year Name version version value ------- ---- -------- -------- -------- 1998 Visual Studio 6.0 Visual C++ 6.0 12.0 1200 2002 Visual Studio .NET Visual C++ 7.0 13.0 1300 2003 Visual Studio .NET 2003 Visual C++ 7.1 13.1 1310 2005 Visual Studio 2005 Visual C++ 8.0 14.0 1400
When was there a release called 6.5?
No there was not. It is just a common name for VC 6.0 with 5 Service Packs added. Bo Persson

Bo Persson wrote:
Vladimir Prus wrote:
There are four failures of the signals library on
msvc-6.5, like this
...
Pardon my ignorance, but what exactly is MSVC 6.5? I see
Moshe Matitya wrote: that there
is a column for it in the regression test tables, but I don't know what it refers to. I am not aware of any compiler release from Microsoft with this number. These are all the C++ compiler releases from Microsoft since 1998, as far as I know:
Release IDE Compiler Internal _MSC_VER Year Name version version value ------- ---- -------- -------- -------- 1998 Visual Studio 6.0 Visual C++ 6.0 12.0 1200 2002 Visual Studio .NET Visual C++ 7.0 13.0 1300 2003 Visual Studio .NET 2003 Visual C++ 7.1 13.1 1310 2005 Visual Studio 2005 Visual C++ 8.0 14.0 1400
When was there a release called 6.5?
No there was not. It is just a common name for VC 6.0 with 5 Service Packs added.
This is not an advisable convention to use. It should be referred to explicitly as MSVC 6.0 SP5. Otherwise, there is no way to distinguish between point releases and service packs. For example, how would one understand, "MSVC 7.1"? This might mean compiler version 7.1 (i.e., Visual Studio .NET 2003), or it might mean compiler version 7.0 (the one from 2002) with service pack 1. While we're on the subject: Why are we testing Boost on MSVC 6.0 with SP5? The most up-to-date service pack for that compiler is SP6. Moshe

Moshe Matitya wrote:
Bo Persson wrote:
Vladimir Prus wrote:
There are four failures of the signals library on
msvc-6.5, like this
...
Pardon my ignorance, but what exactly is MSVC 6.5? I see
Moshe Matitya wrote: that there
is a column for it in the regression test tables, but I don't know what it refers to. I am not aware of any compiler release from Microsoft with this number. These are all the C++ compiler releases from Microsoft since 1998, as far as I know:
Release IDE Compiler Internal _MSC_VER Year Name version version value ------- ---- -------- -------- -------- 1998 Visual Studio 6.0 Visual C++ 6.0 12.0 1200 2002 Visual Studio .NET Visual C++ 7.0 13.0 1300 2003 Visual Studio .NET 2003 Visual C++ 7.1 13.1 1310 2005 Visual Studio 2005 Visual C++ 8.0 14.0 1400
When was there a release called 6.5?
No there was not. It is just a common name for VC 6.0 with 5 Service Packs added.
This is not an advisable convention to use.
True. I didn't invent it. :-) The numbering scheme is a result of the marketing department. With version 4.x we got quarterly point releases, which some MS customers couldn't handle. So they changed that to a fixed base release, and a series of service packs. Same shit, new name.
It should be referred to explicitly as MSVC 6.0 SP5. Otherwise, there is no way to distinguish between point releases and service packs. For example, how would one understand, "MSVC 7.1"? This might mean compiler version 7.1 (i.e., Visual Studio .NET 2003), or it might mean compiler version 7.0 (the one from 2002) with service pack 1.
Isn't that the same thing? I believe it is. We might have a problem with VC 7.1 SP1 though.
While we're on the subject: Why are we testing Boost on MSVC 6.0 with SP5? The most up-to-date service pack for that compiler is SP6.
Because version 6.5 (6.0 SP5 :-) is the most widely used? The SP6 came in *very* late. Bo Persson

Bo Persson wrote:
Moshe Matitya wrote:
Bo Persson wrote:
Vladimir Prus wrote:
There are four failures of the signals library on
msvc-6.5, like this
...
Pardon my ignorance, but what exactly is MSVC 6.5? I see
Moshe Matitya wrote: that there
is a column for it in the regression test tables, but I
don't know
what it refers to. I am not aware of any compiler release from Microsoft with this number. These are all the C++ compiler releases from Microsoft since 1998, as far as I know:
Release IDE Compiler Internal _MSC_VER Year Name version version value ------- ---- -------- -------- -------- 1998 Visual Studio 6.0 Visual C++ 6.0 12.0 1200 2002 Visual Studio .NET Visual C++ 7.0 13.0 1300 2003 Visual Studio .NET 2003 Visual C++ 7.1 13.1 1310 2005 Visual Studio 2005 Visual C++ 8.0 14.0 1400
When was there a release called 6.5?
No there was not. It is just a common name for VC 6.0 with 5 Service Packs added.
This is not an advisable convention to use.
True. I didn't invent it. :-)
The numbering scheme is a result of the marketing department. With version 4.x we got quarterly point releases, which some MS customers couldn't handle. So they changed that to a fixed base release, and a series of service packs. Same shit, new name.
It should be referred to explicitly as MSVC 6.0 SP5. Otherwise, there is no way to distinguish between point releases and service packs. For example, how would one understand, "MSVC 7.1"? This might mean compiler version 7.1 (i.e., Visual Studio .NET 2003), or it might mean compiler version 7.0 (the one from 2002) with service pack 1.
Isn't that the same thing? I believe it is.
Not at all. MSVC 7.0 SP1 is an update for Visual Studio .NET 2002: http://www.microsoft.com/downloads/details.aspx?familyid=c41d8159-b42f-4 d06-a797-e510494976ee&displaylang=en Whereas MSVC 7.1 is Visual Studio .NET 2003, which was a major new release: http://msdn2.microsoft.com/en-us/vstudio/aa700867.aspx
We might have a problem with VC 7.1 SP1 though.
Indeed. Note that according to what you just said above (that MSVC 7.1 is the same as MSVC 7.0 SP1), MSVC 7.1 SP1 would then have to mean "MSVC 7.0 SP1, SP1"...
While we're on the subject: Why are we testing Boost on MSVC 6.0 with SP5? The most up-to-date service pack for that compiler is SP6.
Because version 6.5 (6.0 SP5 :-) is the most widely used?
The SP6 came in *very* late.
That's true. But I still think we ought to be doing our testing with it. SP6 includes bug fixes that aren't in SP5, and it doesn't cost anything additional. Moshe

Moshe Matitya wrote:
Bo Persson wrote:
Moshe Matitya wrote:
Bo Persson wrote:
Vladimir Prus wrote:
There are four failures of the signals library on
msvc-6.5, like this
...
Pardon my ignorance, but what exactly is MSVC 6.5? I see
Moshe Matitya wrote: that there
...
While we're on the subject: Why are we testing Boost on MSVC 6.0 with SP5? The most up-to-date service pack for that compiler is SP6.
Because version 6.5 (6.0 SP5 :-) is the most widely used?
The SP6 came in *very* late.
That's true. But I still think we ought to be doing our testing with it. SP6 includes bug fixes that aren't in SP5, and it doesn't cost anything additional.
IIRC, there were some problems with SP6, I don't remember the details but if you google the microsoft groups... Jeff Flinn

On Dec 2, 2006, at 6:03 AM, Vladimir Prus wrote:
There are four failures of the signals library on msvc-6.5, like this
All are access violations on runtime.
This is really weird... I haven't touched the Signals source in months, and this only popped up with the switch to BBv2.
Doug, do you think you'll have the time next week to look into this? Anybody else is willing to debug the problem?
The trick is to find a copy of MSVC 6 that I can play with :( Cheers, Doug

Douglas Gregor ha escrito:
On Dec 2, 2006, at 6:03 AM, Vladimir Prus wrote:
There are four failures of the signals library on msvc-6.5, like this
All are access violations on runtime.
This is really weird... I haven't touched the Signals source in months, and this only popped up with the switch to BBv2.
Doug, do you think you'll have the time next week to look into this? Anybody else is willing to debug the problem?
The trick is to find a copy of MSVC 6 that I can play with :(
I've got a copy myself: I've manually built one of the failing tests (deletion_test.cpp) and everything's playing smoothly here... One quirk I've noticed, don't know if it can make a difference, is that the associated Jamfile.v2 includes a dependency on boost_test_exec_monitor that is not really needed. Do you want me to try something in order to ellucidate what's going on? Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

On Dec 4, 2006, at 9:32 AM, Joaquín Mª López Muñoz wrote:
Douglas Gregor ha escrito:
On Dec 2, 2006, at 6:03 AM, Vladimir Prus wrote:
There are four failures of the signals library on msvc-6.5, like this
All are access violations on runtime.
This is really weird... I haven't touched the Signals source in months, and this only popped up with the switch to BBv2.
Doug, do you think you'll have the time next week to look into this? Anybody else is willing to debug the problem?
The trick is to find a copy of MSVC 6 that I can play with :(
I've got a copy myself: I've manually built one of the failing tests (deletion_test.cpp) and everything's playing smoothly here... One quirk I've noticed, don't know if it can make a difference, is that the associated Jamfile.v2 includes a dependency on boost_test_exec_monitor that is not really needed.
I'd hope that it wouldn't matter...
Do you want me to try something in order to ellucidate what's going on?
I don't even know what to try :( If you test with "bjam" in libs/signals/test, do you get the same failures as the regression tester? Cheers, Doug

Doug Gregor ha escrito:
On Dec 4, 2006, at 9:32 AM, Joaquín Mª López Muñoz wrote:
Douglas Gregor ha escrito:
On Dec 2, 2006, at 6:03 AM, Vladimir Prus wrote:
There are four failures of the signals library on msvc-6.5, like this
All are access violations on runtime.
This is really weird... I haven't touched the Signals source in months, and this only popped up with the switch to BBv2.
Doug, do you think you'll have the time next week to look into this? Anybody else is willing to debug the problem?
The trick is to find a copy of MSVC 6 that I can play with :(
I've got a copy myself: I've manually built one of the failing tests (deletion_test.cpp) and everything's playing smoothly here... One quirk I've noticed, don't know if it can make a difference, is that the associated Jamfile.v2 includes a dependency on boost_test_exec_monitor that is not really needed.
I'd hope that it wouldn't matter...
Do you want me to try something in order to ellucidate what's going on?
I don't even know what to try :(
If you test with "bjam" in libs/signals/test, do you get the same failures as the regression tester?
OK, these are my results: * Issuing a "bjam --v2 toolset=msvc deletion_test" produces the same error that you're seeing in the regression reports. Complete output attached as out.txt. You can see that there are warnings hinting at some kind of incorrect mix of static and dynamic libs. * Forcing static linking with "bjam --v2 toolset=msvc link=static deletion_test" makes the test pass. Output attached as out_link_static.txt. So, adding a <link>static clause to the requirements section of the Jamfile.v2 will solve the issue. A deeper analysis of the roots of the problem is beyond my abilities :( HTH, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo warning: Python location is not configured warning: the Boost.Python library won't be built Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (and if you don't know what ICU is then you probably don't need it). ...patience... ...found 700 targets... ...updating 46 targets... MkDir1 ..\..\..\bin.v2 MkDir1 ..\..\..\bin.v2\libs MkDir1 ..\..\..\bin.v2\libs\signals MkDir1 ..\..\..\bin.v2\libs\signals\test MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi compile-c-c++ ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.obj deletion_test.cpp MkDir1 ..\..\..\bin.v2\libs\test MkDir1 ..\..\..\bin.v2\libs\test\build MkDir1 ..\..\..\bin.v2\libs\test\build\msvc MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\compiler_log_formatter.obj compiler_log_formatter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\execution_monitor.obj execution_monitor.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\framework.obj framework.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\plain_report_formatter.obj plain_report_formatter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\progress_monitor.obj progress_monitor.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\results_collector.obj results_collector.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\results_reporter.obj results_reporter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\test_main.obj test_main.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\test_tools.obj test_tools.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_log.obj unit_test_log.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_main.obj unit_test_main.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_monitor.obj unit_test_monitor.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_parameters.obj unit_test_parameters.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_suite.obj unit_test_suite.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\xml_log_formatter.obj xml_log_formatter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\xml_report_formatter.obj xml_report_formatter.cpp msvc.archive ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\libboost_test_exec_monitor-vc-mt-gd-1_34.lib MkDir1 ..\..\..\bin.v2\libs\signals\build MkDir1 ..\..\..\bin.v2\libs\signals\build\msvc MkDir1 ..\..\..\bin.v2\libs\signals\build\msvc\debug MkDir1 ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\trackable.obj trackable.cpp ..\..\..\boost/signals/connection.hpp(118) : warning C4251: 'con' : class 'boost::shared_ptr<struct boost::signals::detail::basic_connection>' needs to have dll-interface to be used by clients of class 'boost::signals::connection' ..\..\..\boost/signals/trackable.hpp(55) : warning C4251: 'connected_signals' : class 'std::list<class boost::signals::connection,class std::allocator<class boost::signals::connection> >' needs to have dll-interface to be used by clients of class 'boost::signals::trackable' compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\connection.obj connection.cpp ..\..\..\boost/signals/connection.hpp(118) : warning C4251: 'con' : class 'boost::shared_ptr<struct boost::signals::detail::basic_connection>' needs to have dll-interface to be used by clients of class 'boost::signals::connection' compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\named_slot_map.obj named_slot_map.cpp ..\..\..\boost/signals/connection.hpp(118) : warning C4251: 'con' : class 'boost::shared_ptr<struct boost::signals::detail::basic_connection>' needs to have dll-interface to be used by clients of class 'boost::signals::connection' ..\..\..\boost/signals/detail/named_slot_map.hpp(85) : warning C4275: non dll-interface class 'boost::iterator_facade<class boost::signals::detail::named_slot_map_iterator,struct boost::signals::detail::connection_slot_pair,struct boost::forward_traversal_tag,struct boost::signals::detail::connection_slot_pair &,int>' used as base for dll-interface class 'boost::signals::detail::named_slot_map_iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(81) : see declaration of 'named_slot_map_iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(153) : warning C4251: 'group' : class 'std::_Tree<class boost::signals::detail::stored_group,struct std::pair<class boost::signals::detail::stored_group const ,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > >,struct std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::_Kfn,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\xtree(118) : see declaration of 'iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(154) : warning C4251: 'last_group' : class 'std::_Tree<class boost::signals::detail::stored_group,struct std::pair<class boost::signals::detail::stored_group const ,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > >,struct std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::_Kfn,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\xtree(118) : see declaration of 'iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(155) : warning C4251: 'slot_' : class 'std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\list(94) : see declaration of 'iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(187) : warning C4251: 'groups' : class 'std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map' ..\..\..\boost/signals/detail/named_slot_map.hpp(188) : warning C4251: 'back' : class 'std::_Tree<class boost::signals::detail::stored_group,struct std::pair<class boost::signals::detail::stored_group const ,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > >,struct std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::_Kfn,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\xtree(118) : see declaration of 'iterator' compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\signal_base.obj signal_base.cpp ..\..\..\boost/signals/connection.hpp(118) : warning C4251: 'con' : class 'boost::shared_ptr<struct boost::signals::detail::basic_connection>' needs to have dll-interface to be used by clients of class 'boost::signals::connection' ..\..\..\boost/signals/detail/named_slot_map.hpp(85) : warning C4275: non dll-interface class 'boost::iterator_facade<class boost::signals::detail::named_slot_map_iterator,struct boost::signals::detail::connection_slot_pair,struct boost::forward_traversal_tag,struct boost::signals::detail::connection_slot_pair &,int>' used as base for dll-interface class 'boost::signals::detail::named_slot_map_iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(81) : see declaration of 'named_slot_map_iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(153) : warning C4251: 'group' : class 'std::_Tree<class boost::signals::detail::stored_group,struct std::pair<class boost::signals::detail::stored_group const ,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > >,struct std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::_Kfn,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\xtree(118) : see declaration of 'iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(154) : warning C4251: 'last_group' : class 'std::_Tree<class boost::signals::detail::stored_group,struct std::pair<class boost::signals::detail::stored_group const ,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > >,struct std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::_Kfn,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\xtree(118) : see declaration of 'iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(155) : warning C4251: 'slot_' : class 'std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\list(94) : see declaration of 'iterator' ..\..\..\boost/signals/detail/named_slot_map.hpp(187) : warning C4251: 'groups' : class 'std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map' ..\..\..\boost/signals/detail/named_slot_map.hpp(188) : warning C4251: 'back' : class 'std::_Tree<class boost::signals::detail::stored_group,struct std::pair<class boost::signals::detail::stored_group const ,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > >,struct std::map<class boost::signals::detail::stored_group,class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> >,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::_Kfn,class boost::function2<bool,class boost::signals::detail::stored_group,class boost::signals::detail::stored_group,int>,class std::allocator<class std::list<struct boost::signals::detail::connection_slot_pair,class std::allocator<struct boost::signals::detail::connection_slot_pair> > > >::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map' C:\ARCHIV~1\MICROS~3\VC98\INCLUDE\xtree(118) : see declaration of 'iterator' ..\..\..\boost/signals/trackable.hpp(55) : warning C4251: 'connected_signals' : class 'std::list<class boost::signals::connection,class std::allocator<class boost::signals::connection> >' needs to have dll-interface to be used by clients of class 'boost::signals::trackable' ..\..\..\boost/signals/slot.hpp(51) : warning C4251: 'data' : class 'boost::shared_ptr<struct boost::signals::detail::slot_base::data_t>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::slot_base' ..\..\..\boost/signals/detail/signal_base.hpp(39) : warning C4251: 'impl' : class 'boost::shared_ptr<class boost::signals::detail::signal_base_impl>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::call_notification' ..\..\..\boost/signals/detail/signal_base.hpp(113) : warning C4251: 'combiner_' : class 'boost::any' needs to have dll-interface to be used by clients of class 'boost::signals::detail::signal_base_impl' ..\..\..\boost/any.hpp(25) : see declaration of 'any' ..\..\..\boost/signals/detail/signal_base.hpp(119) : warning C4275: non dll-interface class 'boost::noncopyable_::noncopyable' used as base for dll-interface class 'boost::signals::detail::signal_base' ..\..\..\boost/noncopyable.hpp(22) : see declaration of 'noncopyable' ..\..\..\boost/signals/detail/signal_base.hpp(149) : warning C4251: 'impl' : class 'boost::shared_ptr<class boost::signals::detail::signal_base_impl>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::signal_base' compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\slot.obj slot.cpp ..\..\..\boost/signals/connection.hpp(118) : warning C4251: 'con' : class 'boost::shared_ptr<struct boost::signals::detail::basic_connection>' needs to have dll-interface to be used by clients of class 'boost::signals::connection' ..\..\..\boost/signals/trackable.hpp(55) : warning C4251: 'connected_signals' : class 'std::list<class boost::signals::connection,class std::allocator<class boost::signals::connection> >' needs to have dll-interface to be used by clients of class 'boost::signals::trackable' ..\..\..\boost/signals/slot.hpp(51) : warning C4251: 'data' : class 'boost::shared_ptr<struct boost::signals::detail::slot_base::data_t>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::slot_base' msvc.link.dll ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\boost_signals-vc-mt-gd-1_34.dll ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\boost_signals-vc-mt-gd-1_34.lib Creating library ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\boost_signals-vc-mt-gd-1_34.lib and object ..\..\..\bin.v2\libs\signals\build\msvc\debug\threading-multi\boost_signals-vc-mt-gd-1_34.exp msvc.link ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.exe testing.capture-output ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.run ====== BEGIN OUTPUT ====== Deleting 2 0 1 2 3 ..\..\..\boost/test/minimal.hpp(122): exception "memory access violation" caught **** Testing aborted. **** 1 error detected EXIT STATUS: 201 ====== END OUTPUT ====== set PATH=D:\usr\Joaquin\Proyectos\boost-cvs\boost.1.34.rc\boost\bin.v2\libs\signals\build\msvc\debug\threading-multi;%PATH% ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.exe > ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.output 2>&1 set status=%ERRORLEVEL% echo. >> ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.output echo EXIT STATUS: %status% >> ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.output if %status% EQU 0 ( copy ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.output ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.run ) set verbose=0 if %status% NEQ 0 ( set verbose=1 ) if %verbose% EQU 1 ( echo ====== BEGIN OUTPUT ====== type ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.output echo ====== END OUTPUT ====== ) exit %status% ...failed testing.capture-output ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\threading-multi\deletion_test.run... ...failed updating 1 target... ...skipped 1 target... ...updated 44 targets... warning: Python location is not configured warning: the Boost.Python library won't be built Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (and if you don't know what ICU is then you probably don't need it). ...patience... ...found 702 targets... ...updating 48 targets... MkDir1 ..\..\..\bin.v2 MkDir1 ..\..\..\bin.v2\libs MkDir1 ..\..\..\bin.v2\libs\signals MkDir1 ..\..\..\bin.v2\libs\signals\test MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\link-static MkDir1 ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\link-static\threading-multi compile-c-c++ ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\link-static\threading-multi\deletion_test.obj deletion_test.cpp MkDir1 ..\..\..\bin.v2\libs\test MkDir1 ..\..\..\bin.v2\libs\test\build MkDir1 ..\..\..\bin.v2\libs\test\build\msvc MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static MkDir1 ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\compiler_log_formatter.obj compiler_log_formatter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\execution_monitor.obj execution_monitor.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\framework.obj framework.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\plain_report_formatter.obj plain_report_formatter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\progress_monitor.obj progress_monitor.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\results_collector.obj results_collector.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\results_reporter.obj results_reporter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\test_main.obj test_main.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\test_tools.obj test_tools.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_log.obj unit_test_log.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_main.obj unit_test_main.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_monitor.obj unit_test_monitor.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_parameters.obj unit_test_parameters.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\unit_test_suite.obj unit_test_suite.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\xml_log_formatter.obj xml_log_formatter.cpp compile-c-c++ ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\xml_report_formatter.obj xml_report_formatter.cpp msvc.archive ..\..\..\bin.v2\libs\test\build\msvc\debug\asynch-exceptions-on\link-static\threading-multi\libboost_test_exec_monitor-vc-mt-gd-1_34.lib MkDir1 ..\..\..\bin.v2\libs\signals\build MkDir1 ..\..\..\bin.v2\libs\signals\build\msvc MkDir1 ..\..\..\bin.v2\libs\signals\build\msvc\debug MkDir1 ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static MkDir1 ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static\threading-multi compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static\threading-multi\trackable.obj trackable.cpp compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static\threading-multi\connection.obj connection.cpp compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static\threading-multi\named_slot_map.obj named_slot_map.cpp compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static\threading-multi\signal_base.obj signal_base.cpp compile-c-c++ ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static\threading-multi\slot.obj slot.cpp msvc.archive ..\..\..\bin.v2\libs\signals\build\msvc\debug\link-static\threading-multi\libboost_signals-vc-mt-gd-1_34.lib msvc.link ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\link-static\threading-multi\deletion_test.exe testing.capture-output ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\link-static\threading-multi\deletion_test.run 1 archivos copiados. **passed** ..\..\..\bin.v2\libs\signals\test\deletion_test.test\msvc\debug\link-static\threading-multi\deletion_test.test ...updated 48 targets...

On Dec 4, 2006, at 10:58 AM, Joaquín Mª López Muñoz wrote:
OK, these are my results:
* Issuing a "bjam --v2 toolset=msvc deletion_test" produces the same error that you're seeing in the regression reports. Complete output attached as out.txt. You can see that there are warnings hinting at some kind of incorrect mix of static and dynamic libs. * Forcing static linking with "bjam --v2 toolset=msvc link=static deletion_test" makes the test pass. Output attached as out_link_static.txt.
So, adding a <link>static clause to the requirements section of the Jamfile.v2 will solve the issue. A deeper analysis of the roots of the problem is beyond my abilities :(
Oh, that's interesting! The Jamfile.v2 is defining BOOST_SIGNALS_STATIC_LINK, which tells the Signals library that it is linking statically, even though it is being linked dynamically. I'm going to add in that <link>static and hope for the best. Thank you thank you thank you thank you! [*] Cheers, Doug [*] Hand-typed. I'm so thankful I didn't even cut 'n' paste! :)

On Mon, 4 Dec 2006 11:11:59 -0500 Doug Gregor <dgregor@cs.indiana.edu> wrote:
Oh, that's interesting! The Jamfile.v2 is defining BOOST_SIGNALS_STATIC_LINK, which tells the Signals library that it is
linking statically, even though it is being linked dynamically. I'm going to add in that <link>static and hope for the best.
Should someone familiar with boostbuild-v2 fix the appropriate build files? Or... is the problem isolated to the tests only?

On Dec 4, 2006, at 12:04 PM, Jody Hagins wrote:
On Mon, 4 Dec 2006 11:11:59 -0500 Doug Gregor <dgregor@cs.indiana.edu> wrote:
Oh, that's interesting! The Jamfile.v2 is defining BOOST_SIGNALS_STATIC_LINK, which tells the Signals library that it is
linking statically, even though it is being linked dynamically. I'm going to add in that <link>static and hope for the best.
Should someone familiar with boostbuild-v2 fix the appropriate build files? Or... is the problem isolated to the tests only?
It looks like it's isolated to these tests. I believe I've fixed it in CVS. We'll see when the tests cycle. Cheers, Doug
participants (8)
-
Bo Persson
-
Doug Gregor
-
Douglas Gregor
-
Jeff F
-
Joaquín Mª López Muñoz
-
Jody Hagins
-
Moshe Matitya
-
Vladimir Prus