
----- Original Message ----- From: "Andrey Semashev" <andrey.semashev@gmail.com> To: <boost@lists.boost.org> Sent: Friday, January 08, 2010 3:14 PM Subject: [boost] [log] Release Candidate 4 released
I'm proud to announce that I've released the fourth candidate of Boost.Log for the review.
Hi, I have tried to compile your library with 1.41. While building the library I get this message lib.jam: No such file or directory The file file exist in directory tools/build/v2/tools/types/lib.jam The same message appear when I build asio/test. Do you know why the file is not found? The build continue, but there are a lot of errors First on cygwin-gcc3.4.4 Platforms don't supporting wide characters it would be better to don't define BOOST_LOG_USE_WCHAR_T by default #if !defined(BOOST_LOG_USE_CHAR) && !defined(BOOST_LOG_USE_WCHAR_T) // By default we provide support for both char and wchar_t # define BOOST_LOG_USE_CHAR # define BOOST_LOG_USE_WCHAR_T #endif // !defined(BOOST_LOG_USE_CHAR) && !defined(BOOST_LOG_USE_WCHAR_T) I have added this to the prologue file #ifdef BOOST_NO_STD_WSTRING # undef BOOST_LOG_USE_WCHAR_T #endif and there are yet some places where wstring is used without control, code_conversion.hpp, text_file_backend.cpp, util_string_literal.cpp. After correcting this, I get an error as if the code was looking for some WIN 32 files while I'm compiling on cygwin. gcc.compile.c++ ../../../bin.v2/libs/log/build/gcc-3.4.4/debug/syslog_backend.o In file included from ../../../boost/asio/detail/io_control.hpp:25, from ../../../boost/asio/socket_base.hpp:25, from C:\cygwin\boost_1_41_0\libs\log\src\syslog_backend.cpp:25: ../../../boost/asio/detail/socket_types.hpp:37:5: warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. ../../../boost/asio/detail/socket_types.hpp:38:5: warning: #warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line. ../../../boost/asio/detail/socket_types.hpp:39:5: warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target). ../../../boost/asio/detail/socket_types.hpp:73:5: #error You must add -D__USE_W32_SOCKETS to your compiler options. In file included from ../../../boost/asio/detail/socket_types.hpp:79, from ../../../boost/asio/detail/io_control.hpp:25, from ../../../boost/asio/socket_base.hpp:25, from C:\cygwin\boost_1_41_0\libs\log\src\syslog_backend.cpp:25: /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api/winsock2.h:103:2: warning: #warning "fd_set and associated macros have been defined in sys/types. This may cause runtime problems with W32 sockets" In file included from ../../../boost/asio/detail/socket_types.hpp:79, from ../../../boost/asio/detail/io_control.hpp:25, from ../../../boost/asio/socket_base.hpp:25, from C:\cygwin\boost_1_41_0\libs\log\src\syslog_backend.cpp:25: /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api/winsock2.h:635: error: declaration of C function `int gethostname(char*, int)' conflicts with /usr/include/sys/unistd.h:206: error: previous declaration `int gethostname(char*, size_t)' here In file included from ../../../boost/asio/detail/fd_set_adapter.hpp:25, from ../../../boost/asio/detail/select_reactor.hpp:32, from ../../../boost/asio/impl/io_service.ipp:27, from ../../../boost/asio/io_service.hpp:641, from C:\cygwin\boost_1_41_0\libs\log\src\syslog_backend.cpp:26: ../../../boost/asio/detail/win_fd_set_adapter.hpp: In member function `bool boost::asio::detail::win_fd_set_adapter::is_set(boost::asio::detail::socket_type) const': ../../../boost/asio/detail/win_fd_set_adapter.hpp:56: error: `__WSAFDIsSet' undeclared (first use this function) ../../../boost/asio/detail/win_fd_set_adapter.hpp:56: error: (Each undeclared identifier is reported only once for each function it appears in.) The same kind of error is found while I build asio/test, so I suppose that ASIO don't works on cygwin. Could the library be built without the syslog_backend? The last error on cygwin is gcc.compile.c++ ../../../bin.v2/libs/log/build/gcc-3.4.4/debug/trivial.o ../../../boost/log/formatters/wrappers.hpp: In instantiation of `boost::log_st::formatters::wrap_if<char, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::mpl::not_<boost::log_st::formatters::is_formatter<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >': ../../../boost/log/formatters/wrappers.hpp:148: instantiated from `boost::log_st::formatters::wrap_if_not_formatter<char, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' C:\cygwin\boost_1_41_0\libs\log\src\trivial.cpp:134: instantiated from here ../../../boost/log/formatters/wrappers.hpp:141: error: base `boost::log_st::formatters::wrap_if_c<char, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, true>' with only non-default constructor in class without a constructor ../../../boost/log/formatters/wrappers.hpp: In instantiation of `boost::log_st::formatters::wrap_if_not_formatter<char, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >': C:\cygwin\boost_1_41_0\libs\log\src\trivial.cpp:134: instantiated from here ../../../boost/log/formatters/wrappers.hpp:148: error: base `boost::log_st::formatters::wrap_if<char, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::mpl::not_<boost::log_st::formatters::is_formatter<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >' with only non-default constructor in class without a constructor C:\cygwin\boost_1_41_0\libs\log\src\trivial.cpp: In function `void boost::log_st::trivial::aux::init()': C:\cygwin\boost_1_41_0\libs\log\src\trivial.cpp:134: error: no match for 'operator<<' in 'boost::log_st::formatters::stream_placeholder<CharT>::operator<<(const T&) const [with T = boost::log_st::formatters::fmt_attr<char, unsigned int, boost::log_st::formatters::throw_policy>, CharT = char](((const boost::log_st::formatters::fmt_attr<char, unsigned int, boost::log_st::formatters::throw_policy>&)((const boost::log_st::formatters::fmt_attr<char, unsigned int, boost::log_st::formatters::throw_policy>*)(&boost::log_st::formatters::attr(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) [with AttributeValueTypesT = unsigned int]())))) << " ["' On MinGW-gcc4.4 I get this error: gcc.compile.c++ ..\..\..\bin.v2\libs\log\build\gcc-mingw-4.4.0\debug\syslog_backend.o In file included from ..\..\../boost/asio/ip/address.hpp:28, from ..\..\../boost/asio/ip/basic_endpoint.hpp:31, from ..\..\../boost/asio/ip/udp.hpp:21, from ..\..\..\libs\log\src\syslog_backend.cpp:27: ..\..\../boost/asio/ip/address_v6.hpp: In constructor 'boost::asio::ip::address_v6::address_v6()': ..\..\../boost/asio/ip/address_v6.hpp:58: warning: missing braces around initializer for 'in6_addr::<anonymous union>' ..\..\../boost/asio/ip/address_v6.hpp:58: warning: missing braces around initializer for 'u_char [16]' ..\..\../boost/asio/ip/address_v6.hpp: In static member function 'static boost::asio::ip::address_v6 boost::asio::ip::address_v6::loopback()': ..\..\../boost/asio/ip/address_v6.hpp:355: warning: missing braces around initializer for 'in6_addr::<anonymous union>' ..\..\../boost/asio/ip/address_v6.hpp:355: warning: missing braces around initializer for 'u_char [16]' gcc.compile.c++ ..\..\..\bin.v2\libs\log\build\gcc-mingw-4.4.0\debug\thread_specific.o gcc.compile.c++ ..\..\..\bin.v2\libs\log\build\gcc-mingw-4.4.0\debug\trivial.o In file included from ..\..\../boost/log/sinks/text_file_backend.hpp:43, from ..\..\..\libs\log\src\trivial.cpp:32: ..\..\../boost/log/detail/universal_path.hpp: In function 'boost::log_st::aux::universal_path boost::log_st::aux::to_universal_path(const PathT&) [with PathT = wchar_t [260]]': ..\..\..\libs\log\src\trivial.cpp:78: instantiated from here ..\..\../boost/log/detail/universal_path.hpp:53: error: request for member 'string' in 'p', which is of non-class type 'const wchar_t [260]' On MSVC Express v9 I get compile-c-c++ ..\..\..\bin.v2\libs\log\test\attr_attribute_set.test\msvc-9.0express\debug\threading-multi\run\attr_attribute_set.obj ... C:\cygwin\boost_1_41_0\boost/test/impl/framework.ipp(485) : warning C4273: 'boost::unit_test::framework::test_unit_aborted' : inconsistent dll linkage C:\cygwin\boost_1_41_0\boost/test/framework.hpp(83) : see previous definition of 'test_unit_aborted' C:\cygwin\boost_1_41_0\boost/test/impl/exception_safety.ipp(513) : error C2491: 'boost::itest::exception_safety' : definition of dllimport function not allowed C:\cygwin\boost_1_41_0\boost/test/impl/execution_monitor.ipp(904) : warning C4535: calling _set_se_translator() requires /EHa ... C:\cygwin\boost_1_41_0\boost/test/impl/logged_expectations.ipp(228) : error C2491: 'boost::itest::logged_expectations' : definition of dllimport function not allowed ... C:\cygwin\boost_1_41_0\boost/test/impl/unit_test_main.ipp(175) : error C2491: 'boost::unit_test::unit_test_main' : definition of dllimport function not allowed ... compile-c-c++ ..\..\..\bin.v2\libs\regex\build\msvc-9.0express\debug\threading-multi\usinstances.obj usinstances.cpp C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xstring(239) : warning C4506: no definition for inline function 'size_t std::char_traits<_Elem>::length(const _Elem *)' with [ _Elem=unsigned short ] What is wrong? Best, Vicente