Boost logo

Boost Users :

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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net