
On Monday 28 July 2014 16:55:51 Thomas Suckow wrote:
In testing '1.56.0 Beta 1' I have found that I am unable to compile https://github.com/splunk/pion on RHEL6_x64 Pion compiles fine with 1.55.0
I suspect the recurring "anonymous enum" is the kicker, though I am not sure where to even begin in diagnosing this. error: ‘const boost::asio::detail::buffer_sequence_adapter_base::<anonymous enum>&’ is/uses anonymous type 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&>’ 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&> >’
Full error log: http://pastebin.com/yeScQCpx
If I get a chance I will see if I can reproduce this on a more modern compiler.
Any assistance in correcting this before the 1.56.0 release would be appreciated. It also may or may not be related to http://thread.gmane.org/gmane.comp.lib.boost.devel/253259/focus=253261
I think it's the same issue that has been described here: http://thread.gmane.org/gmane.comp.lib.boost.devel/249985/focus=249986 I can create a pull request to fix this locally in ASIO, if there is a chance to merge it into 1.56. But that will only fix this particular breakage; I can't tell if there are other similar places. I'm worried by Boost.Range abusing boost namespace and interfere name lookup this way. A similar problem was with Boost.Iterator and I moved it to its own namespace. I think the same should be done for Boost.Range.