Boost logo

Boost :

Subject: Re: [boost] Boost 1.60.0 beta 1 Release Candidate 4 available for testing
From: Thomas Trummer (th.trummer_at_[hidden])
Date: 2015-12-07 13:04:46


> On 07 Dec 2015, at 07:29, Marshall Clow <mclow.lists_at_[hidden]> wrote:
>
> As always, the release managers would appreciate it if you download
> the candidate of your choice and give building it a try. Please report
> both success and failure, and anything else that is noteworthy.

Microsoft Visual C++ 9.0

> $ cl -v
> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
> Copyright (C) Microsoft Corporation. All rights reserved.

=== boost::type_erasure fails to build as promised:

compile-c-c++ bin.v2\libs\type_erasure\build\msvc-9.0\release\link-static\threading-multi\dynamic_binding.obj
dynamic_binding.cpp
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\utility(45) : error C2248: 'boost::shared_mutex::shared_mutex' : cannot access private member declared in class 'boost::shared_mutex'
        .\boost/thread/win32/shared_mutex.hpp(87) : see declaration of 'boost::shared_mutex::shared_mutex'
        .\boost/thread/win32/shared_mutex.hpp(28) : see declaration of 'boost::shared_mutex'
        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\utility(43) : while compiling class template member function 'std::pair<_Ty1,_Ty2>::pair(void)'
        with
        [
            _Ty1=`anonymous-namespace'::map_type,
            _Ty2=`anonymous-namespace'::mutex_type
        ]
        libs\type_erasure\src\dynamic_binding.cpp(30) : see reference to class template instantiation 'std::pair<_Ty1,_Ty2>' being compiled
        with
        [
            _Ty1=`anonymous-namespace'::map_type,
            _Ty2=`anonymous-namespace'::mutex_type
        ]

=== boost::log creates over 8000 warnings, which seems a bit excessive:

compile-c-c++ bin.v2\libs\type_erasure\build\msvc-9.0\release\link-static\threading-multi\dynamic_binding.obj
dynamic_binding.cpp
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\utility(45) : error C2248: 'boost::shared_mutex::shared_mutex' : cannot access private member declared in class 'boost::shared_mutex'
        .\boost/thread/win32/shared_mutex.hpp(87) : see declaration of 'boost::shared_mutex::shared_mutex'
        .\boost/thread/win32/shared_mutex.hpp(28) : see declaration of 'boost::shared_mutex'
        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\utility(43) : while compiling class template member function 'std::pair<_Ty1,_Ty2>::pair(void)'
        with
        [
            _Ty1=`anonymous-namespace'::map_type,
            _Ty2=`anonymous-namespace'::mutex_type
        ]
        libs\type_erasure\src\dynamic_binding.cpp(30) : see reference to class template instantiation 'std::pair<_Ty1,_Ty2>' being compiled
        with
        [
            _Ty1=`anonymous-namespace'::map_type,
            _Ty2=`anonymous-namespace'::mutex_type
        ]

=== boost::log shows a random warning while building, that seems to be new:

compile-c-c++ bin.v2\libs\log\build\msvc-9.0\release\build-no\link-static\log-api-winnt\threading-multi\syslog_backend.obj
syslog_backend.cpp
Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:
- add -D_WIN32_WINNT=0x0501 to the compiler command line; or
- add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.
Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).

This should probably be somewhere at the beginning at the configuration step. It’s also not really documented / differs from the documentation.

=== Rest of the warnings:

4824 .\boost/spirit/home/support/terminal.hpp(264) : warning C4348: 'boost::spirit::terminal<Terminal>::result_helper' : redefinition of default parameter : parameter 4
4824 .\boost/spirit/home/support/terminal.hpp(264) : warning C4348: 'boost::spirit::terminal<Terminal>::result_helper' : redefinition of default parameter : parameter 3

24 .\boost/archive/iterators/mb_from_wchar.hpp(89) : warning C4996: 'wcrtomb': This function or variable may be unsafe. Consider using wcrtomb_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
24 .\boost/archive/iterators/mb_from_wchar.hpp(87) : warning C4996: 'wcrtomb': This function or variable may be unsafe. Consider using wcrtomb_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

10 .\boost/signals/connection.hpp(118) : warning C4251: 'boost::signals::connection::con' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::signals::connection'

8 libs\iostreams\src\mapped_file.cpp(59) : warning C4244: 'return' : conversion from 'const boost::iostreams::stream_offset' to 'size_t', possible loss of data
8 libs\iostreams\src\mapped_file.cpp(325) : warning C4244: 'argument' : conversion from 'boost::iostreams::stream_offset' to 'SIZE_T', possible loss of data
8 libs\iostreams\src\file_descriptor.cpp(241) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)

6 .\boost/signals/trackable.hpp(56) : warning C4251: 'boost::signals::trackable::connected_signals' : class 'std::list<_Ty>' needs to have dll-interface to be used by clients of class 'boost::signals::trackable’

4 .\boost/signals/slot.hpp(51) : warning C4251: 'boost::signals::detail::slot_base::data' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::slot_base’

4 .\boost/signals/detail/named_slot_map.hpp(187) : warning C4251: 'boost::signals::detail::named_slot_map::back' : class 'std::_Tree<_Traits>::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map’

4 .\boost/signals/detail/named_slot_map.hpp(186) : warning C4251: 'boost::signals::detail::named_slot_map::groups' : class 'std::map<_Kty,_Ty,_Pr>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map’

4 .\boost/signals/detail/named_slot_map.hpp(154) : warning C4251: 'boost::signals::detail::named_slot_map_iterator::slot_' : class 'std::list<_Ty>::_Iterator<_Secure_validation>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator’

4 .\boost/signals/detail/named_slot_map.hpp(153) : warning C4251: 'boost::signals::detail::named_slot_map_iterator::last_group' : class 'std::_Tree<_Traits>::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator’

4 .\boost/signals/detail/named_slot_map.hpp(152) : warning C4251: 'boost::signals::detail::named_slot_map_iterator::group' : class 'std::_Tree<_Traits>::iterator' needs to have dll-interface to be used by clients of class 'boost::signals::detail::named_slot_map_iterator’

2 .\boost/signals/detail/signal_base.hpp(39) : warning C4251: 'boost::signals::detail::call_notification::impl' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::call_notification’

2 .\boost/signals/detail/signal_base.hpp(149) : warning C4251: 'boost::signals::detail::signal_base::impl' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::signals::detail::signal_base’

2 .\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’

2 .\boost/signals/detail/signal_base.hpp(113) : warning C4251: 'boost::signals::detail::signal_base_impl::combiner_' : class 'boost::any' needs to have dll-interface to be used by clients of class 'boost::signals::detail::signal_base_iml'

2 .\boost/iostreams/device/mapped_file.hpp(218) : warning C4251: 'boost::iostreams::mapped_file_source::pimpl_' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::iostreams::mapped_file_source’

2 .\boost/iostreams/device/file_descriptor.hpp(143) : warning C4251: 'boost::iostreams::file_descriptor::pimpl_' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'boost::iostreams::file_descriptor’

2 .\boost/coroutine/detail/coroutine_context.hpp(32) : warning C4251: 'boost::coroutines::detail::coroutine_context::palloc_' : struct 'boost::coroutines::detail::preallocated' needs to have dll-interface to be used by clients of class 'boost::coroutines::detail::coroutine_context'

1 .\boost/program_options/variables_map.hpp(148) : warning C4275: non dll-interface class 'std::_Container_base_aux' used as base for dll-interface class 'std::_Container_base_aux_alloc_real<_Alloc>'


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