
"JOAQUIN LOPEZ MU?Z" wrote:
Hello,
The trunk version of Boost.Serialization is having problems with all the DLL, non-wide char variants of MingW tests, see for instance http://tinyurl.com/2j7dq2 . Although it's not apparent from the regression tests output (the messages are totally misguiding), my local tests indicate that the problem is related to the inability of boost_serialization (no w) to build due to some mising std::codecvt<wchar_t, char, int> member functions. This is expected as MingW is long known to have defective wide char support.
The reason why current tests are failing when they were passing in Boost 1.34.1 is the seemingly inadvertent move of codecvt_null from WSOURCES to SOURCES in boost/libs serialization/build/Jamfile.v2:
Trunk: http://tinyurl.com/2wxjfy Boost 1.34.1: http://tinyurl.com/32bx8d
codecvt_null.cpp deals exclusively with wchar_t functionality, so it need not be in boost_serialization, only in boost_wserialization. The attached patch corrects this. I've checked it locally in a MinGW installation and it makes (non-wide) serialization-dependent tests pass. OK to commit?
Please see http://lists.boost.org/Archives/boost/2007/11/130828.php and http://lists.boost.org/Archives/boost/2007/11/130831.php. My machine is tied up at present: can you double check that moving codecvt_null.cpp to boost_wserialization breaks dll building of Serialization with msvc? (I'm 99% sure it will do if the header is included by any of the sources). Then try Robert's suggestion of changing the export declaration to BOOST_WARCHIVE_DECL and see if it works as expected: you'll probably need to run the serialization regression tests with both msvc and mingw to be sure, which may take a while :-( HTH, John.