$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] [1.56.0] Release candidates available
From: Andreas Wehrmann (a.wehrmann_at_[hidden])
Date: 2014-07-30 02:36:03
On 07/29/2014 08:40 PM, Marshall Clow wrote:
> On Jul 29, 2014, at 10:06 AM, Marshall Clow <mclow.lists_at_[hidden]> wrote:
>
>> Release candidate files for 1.65.0 are available at
>> http://boost.cowic.de/rc/
> Ok, ok - fine. 1.56.0
>
The following doesn't compile with gcc 4.3.2 on Linux x86:
#include <iostream>
#include <boost/algorithm/string.hpp>
#include <boost/asio/ip/udp.hpp>
int main( void )
{
     std::cout << "Oh dear..." << std::endl;
     return 0;
}
Note this is just a minimal example, the error occurred while trying to 
compile a real world application
where the boost header you see here get included in different modules.
When I change the order of the header (include udp.hpp before 
string.hpp) the code compiles just fine.
The error is:
---------------------
center_at_debian-builder-vm:~/perforce/depot/.../Software/main/lib$ g++ 
-I./boost-1_56_0_b1 -L./boost-1_56_0_b1/stage/lib test.cpp -lboost_system
In file included from 
./boost-1_56_0_b1/boost/asio/detail/reactive_socket_service.hpp:27,
                  from 
./boost-1_56_0_b1/boost/asio/datagram_socket_service.hpp:30,
                  from 
./boost-1_56_0_b1/boost/asio/basic_datagram_socket.hpp:21,
                  from ./boost-1_56_0_b1/boost/asio/ip/udp.hpp:19,
                  from test.cpp:3:
./boost-1_56_0_b1/boost/type_traits/is_convertible.hpp: In instantiation 
of boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>:
./boost-1_56_0_b1/boost/mpl/aux_/nested_type_wknd.hpp:28: instantiated 
from boost::mpl::aux::nested_type_wknd<boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&> >
./boost-1_56_0_b1/boost/mpl/aux_/preprocessed/gcc/or.hpp:19: 
instantiated from boost::mpl::aux::or_impl<false, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >
./boost-1_56_0_b1/boost/mpl/aux_/preprocessed/gcc/or.hpp:55: 
instantiated from boost::mpl::or_<boost::is_convertible<const size_t&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >
./boost-1_56_0_b1/boost/core/enable_if.hpp:36:   instantiated from 
boost::enable_if<boost::mpl::or_<boost::is_convertible<const size_t&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >, bool>
./boost-1_56_0_b1/boost/asio/detail/buffer_sequence_adapter.hpp:109: 
instantiated from here
./boost-1_56_0_b1/boost/type_traits/is_convertible.hpp:482: error: 
const boost::asio::detail::buffer_sequence_adapter_base::<anonymous 
enum>& is/uses anonymous type
./boost-1_56_0_b1/boost/type_traits/is_convertible.hpp:482: error: 
trying to instantiate template<class From, class To> struct 
boost::detail::is_convertible_impl_dispatch
./boost-1_56_0_b1/boost/mpl/aux_/nested_type_wknd.hpp: In instantiation 
of boost::mpl::aux::nested_type_wknd<boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&> >:
./boost-1_56_0_b1/boost/mpl/aux_/preprocessed/gcc/or.hpp:19: 
instantiated from boost::mpl::aux::or_impl<false, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >
./boost-1_56_0_b1/boost/mpl/aux_/preprocessed/gcc/or.hpp:55: 
instantiated from boost::mpl::or_<boost::is_convertible<const size_t&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >
./boost-1_56_0_b1/boost/core/enable_if.hpp:36:   instantiated from 
boost::enable_if<boost::mpl::or_<boost::is_convertible<const size_t&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >, bool>
./boost-1_56_0_b1/boost/asio/detail/buffer_sequence_adapter.hpp:109: 
instantiated from here
./boost-1_56_0_b1/boost/mpl/aux_/nested_type_wknd.hpp:28: error: no type 
named type in struct boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>
./boost-1_56_0_b1/boost/mpl/aux_/preprocessed/gcc/or.hpp: In 
instantiation of boost::mpl::aux::or_impl<false, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >:
./boost-1_56_0_b1/boost/mpl/aux_/preprocessed/gcc/or.hpp:55: 
instantiated from boost::mpl::or_<boost::is_convertible<const size_t&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >
./boost-1_56_0_b1/boost/core/enable_if.hpp:36:   instantiated from 
boost::enable_if<boost::mpl::or_<boost::is_convertible<const size_t&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >, bool>
./boost-1_56_0_b1/boost/asio/detail/buffer_sequence_adapter.hpp:109: 
instantiated from here
./boost-1_56_0_b1/boost/mpl/aux_/preprocessed/gcc/or.hpp:19: error: 
value is not a member of 
boost::mpl::aux::nested_type_wknd<boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&> >
./boost-1_56_0_b1/boost/core/enable_if.hpp: In instantiation of 
boost::enable_if<boost::mpl::or_<boost::is_convertible<const size_t&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >, bool>:
./boost-1_56_0_b1/boost/asio/detail/buffer_sequence_adapter.hpp:109: 
instantiated from here
./boost-1_56_0_b1/boost/core/enable_if.hpp:36: error: value is not a 
member of boost::mpl::or_<boost::is_convertible<const size_t&, const 
boost::iterator_range_detail::iterator_range_tag&>, 
boost::is_convertible<const 
boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&, 
const boost::iterator_range_detail::iterator_range_tag&>, 
mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >
---------------------
Regards,
Andreas