Boost logo

Boost :

Subject: Re: [boost] [log] Release Candidate 4 released
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-01-31 08:12:43


----- Original Message -----
From: "Andrey Semashev" <andrey.semashev_at_[hidden]>
To: <boost_at_[hidden]>
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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk