In file included from /usr/include/boost/gil/gil_all.hpp:26:0, from main.cpp:1: /usr/include/boost/gil/channel_algorithm.hpp: In instantiation of ‘struct boost::gil::detail::unsigned_integral_max_value >’: /usr/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:60:29: required from ‘struct boost::mpl::less_tag > >’ /usr/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:67:8: required from ‘struct boost::mpl::less >, boost::gil::detail::unsigned_integral_max_value >’ /usr/include/boost/gil/channel_algorithm.hpp:149:8: required from ‘struct boost::gil::detail::channel_converter_unsigned_impl, short unsigned int, true, true>’ /usr/include/boost/gil/channel_algorithm.hpp:119:8: required from ‘struct boost::gil::channel_converter_unsigned, short unsigned int>’ /usr/include/boost/gil/channel_algorithm.hpp:363:71: required from ‘DstChannelV boost::gil::channel_converter::operator()(const SrcChannelV&) const [with SrcChannelV = boost::gil::scoped_channel_value; DstChannelV = short unsigned int]’ /usr/include/boost/gil/channel_algorithm.hpp:372:84: [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/gil/algorithm.hpp:294:69: required from ‘void boost::gil::copy_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*, boost::gil::color_convert_deref_fn, boost::gil::layout > >&, boost::gil::pixel > >, boost::gil::default_color_converter> > > > >; View2 = boost::gil::image_view > >*> > >]’ /usr/include/boost/gil/algorithm.hpp:321:79: required from ‘boost::gil::detail::copy_and_convert_pixels_fn::result_type boost::gil::detail::copy_and_convert_pixels_fn::apply_incompatible(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; CC = boost::gil::default_color_converter; boost::gil::detail::copy_and_convert_pixels_fn::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:116:64: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::apply(const V1&, const V2&, mpl_::false_) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void; mpl_::false_ = mpl_::bool_]’ /usr/include/boost/gil/algorithm.hpp:107:74: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::operator()(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:347:16: required from ‘void boost::gil::copy_and_convert_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*> > >; View2 = boost::gil::image_view > >*> > >]’ main.cpp:26:38: required from here /usr/include/boost/gil/channel_algorithm.hpp:54:8: error: ‘struct boost::gil::scoped_channel_value’ is not a valid type for a template non-type parameter struct unsigned_integral_max_value : public mpl::integral_c {}; ^ In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37:0, from /usr/include/boost/mpl/aux_/comparison_op.hpp:35, from /usr/include/boost/mpl/less.hpp:19, from /usr/include/boost/gil/channel_algorithm.hpp:28, from /usr/include/boost/gil/gil_all.hpp:26, from main.cpp:1: /usr/include/boost/mpl/aux_/preprocessed/gcc/less.hpp: In instantiation of ‘struct boost::mpl::less_tag > >’: /usr/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:67:8: required from ‘struct boost::mpl::less >, boost::gil::detail::unsigned_integral_max_value >’ /usr/include/boost/gil/channel_algorithm.hpp:149:8: required from ‘struct boost::gil::detail::channel_converter_unsigned_impl, short unsigned int, true, true>’ /usr/include/boost/gil/channel_algorithm.hpp:119:8: required from ‘struct boost::gil::channel_converter_unsigned, short unsigned int>’ /usr/include/boost/gil/channel_algorithm.hpp:363:71: required from ‘DstChannelV boost::gil::channel_converter::operator()(const SrcChannelV&) const [with SrcChannelV = boost::gil::scoped_channel_value; DstChannelV = short unsigned int]’ /usr/include/boost/gil/channel_algorithm.hpp:372:84: required from ‘typename boost::gil::channel_traits::value_type boost::gil::channel_convert(const SrcChannel&) [with DstChannel = short unsigned int; SrcChannel = boost::gil::scoped_channel_value; typename boost::gil::channel_traits::value_type = short unsigned int]’ /usr/include/boost/gil/channel_algorithm.hpp:382:37: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/gil/algorithm.hpp:294:69: required from ‘void boost::gil::copy_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*, boost::gil::color_convert_deref_fn, boost::gil::layout > >&, boost::gil::pixel > >, boost::gil::default_color_converter> > > > >; View2 = boost::gil::image_view > >*> > >]’ /usr/include/boost/gil/algorithm.hpp:321:79: required from ‘boost::gil::detail::copy_and_convert_pixels_fn::result_type boost::gil::detail::copy_and_convert_pixels_fn::apply_incompatible(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; CC = boost::gil::default_color_converter; boost::gil::detail::copy_and_convert_pixels_fn::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:116:64: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::apply(const V1&, const V2&, mpl_::false_) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void; mpl_::false_ = mpl_::bool_]’ /usr/include/boost/gil/algorithm.hpp:107:74: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::operator()(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:347:16: required from ‘void boost::gil::copy_and_convert_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*> > >; View2 = boost::gil::image_view > >*> > >]’ main.cpp:26:38: required from here /usr/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:60:29: error: no type named ‘tag’ in ‘struct boost::gil::detail::unsigned_integral_max_value >’ typedef typename T::tag type; ^ In file included from /usr/include/boost/gil/gil_all.hpp:26:0, from main.cpp:1: /usr/include/boost/gil/channel_algorithm.hpp: In instantiation of ‘struct boost::gil::detail::channel_converter_unsigned_impl, short unsigned int, true, true>’: /usr/include/boost/gil/channel_algorithm.hpp:119:8: required from ‘struct boost::gil::channel_converter_unsigned, short unsigned int>’ /usr/include/boost/gil/channel_algorithm.hpp:363:71: required from ‘DstChannelV boost::gil::channel_converter::operator()(const SrcChannelV&) const [with SrcChannelV = boost::gil::scoped_channel_value; DstChannelV = short unsigned int]’ /usr/include/boost/gil/channel_algorithm.hpp:372:84: required from ‘typename boost::gil::channel_traits::value_type boost::gil::channel_convert(const SrcChannel&) [with DstChannel = short unsigned int; SrcChannel = boost::gil::scoped_channel_value; typename boost::gil::channel_traits::value_type = short unsigned int]’ /usr/include/boost/gil/channel_algorithm.hpp:382:37: required from ‘void boost::gil::default_channel_converter::operator()(const Ch1&, Ch2&) const [with Ch1 = boost::gil::scoped_channel_value; Ch2 = short unsigned int]’ /usr/include/boost/gil/color_base_algorithm.hpp:284:59: required from ‘static Op boost::gil::detail::element_recursion::static_for_each(const P1&, P2&, Op) [with P1 = boost::gil::pixel, boost::gil::layout > >; P2 = boost::gil::pixel > >; Op = boost::gil::default_channel_converter; int N = 1]’ /usr/include/boost/gil/color_base_algorithm.hpp:663:143: [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/gil/algorithm.hpp:294:69: required from ‘void boost::gil::copy_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*, boost::gil::color_convert_deref_fn, boost::gil::layout > >&, boost::gil::pixel > >, boost::gil::default_color_converter> > > > >; View2 = boost::gil::image_view > >*> > >]’ /usr/include/boost/gil/algorithm.hpp:321:79: required from ‘boost::gil::detail::copy_and_convert_pixels_fn::result_type boost::gil::detail::copy_and_convert_pixels_fn::apply_incompatible(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; CC = boost::gil::default_color_converter; boost::gil::detail::copy_and_convert_pixels_fn::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:116:64: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::apply(const V1&, const V2&, mpl_::false_) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void; mpl_::false_ = mpl_::bool_]’ /usr/include/boost/gil/algorithm.hpp:107:74: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::operator()(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:347:16: required from ‘void boost::gil::copy_and_convert_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*> > >; View2 = boost::gil::image_view > >*> > >]’ main.cpp:26:38: required from here /usr/include/boost/gil/channel_algorithm.hpp:149:8: error: ‘value’ is not a member of ‘boost::mpl::less >, boost::gil::detail::unsigned_integral_max_value >’ struct channel_converter_unsigned_impl ^ /usr/include/boost/gil/channel_algorithm.hpp: In instantiation of ‘DstChannelV boost::gil::channel_converter::operator()(const SrcChannelV&) const [with SrcChannelV = boost::gil::scoped_channel_value; DstChannelV = short unsigned int]’: /usr/include/boost/gil/channel_algorithm.hpp:372:84: required from ‘typename boost::gil::channel_traits::value_type boost::gil::channel_convert(const SrcChannel&) [with DstChannel = short unsigned int; SrcChannel = boost::gil::scoped_channel_value; typename boost::gil::channel_traits::value_type = short unsigned int]’ /usr/include/boost/gil/channel_algorithm.hpp:382:37: required from ‘void boost::gil::default_channel_converter::operator()(const Ch1&, Ch2&) const [with Ch1 = boost::gil::scoped_channel_value; Ch2 = short unsigned int]’ /usr/include/boost/gil/color_base_algorithm.hpp:284:59: required from ‘static Op boost::gil::detail::element_recursion::static_for_each(const P1&, P2&, Op) [with P1 = boost::gil::pixel, boost::gil::layout > >; P2 = boost::gil::pixel > >; Op = boost::gil::default_channel_converter; int N = 1]’ /usr/include/boost/gil/color_base_algorithm.hpp:663:143: required from ‘Op boost::gil::static_for_each(const P1&, P2&, Op) [with P1 = boost::gil::pixel, boost::gil::layout > >; P2 = boost::gil::pixel > >; Op = boost::gil::default_channel_converter]’ /usr/include/boost/gil/color_convert.hpp:61:60: required from ‘void boost::gil::default_color_converter_impl::operator()(const P1&, P2&) const [with P1 = boost::gil::pixel, boost::gil::layout > >; P2 = boost::gil::pixel > >; C = boost::mpl::vector1]’ /usr/include/boost/gil/color_convert.hpp:299:76: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/gil/algorithm.hpp:294:69: required from ‘void boost::gil::copy_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*, boost::gil::color_convert_deref_fn, boost::gil::layout > >&, boost::gil::pixel > >, boost::gil::default_color_converter> > > > >; View2 = boost::gil::image_view > >*> > >]’ /usr/include/boost/gil/algorithm.hpp:321:79: required from ‘boost::gil::detail::copy_and_convert_pixels_fn::result_type boost::gil::detail::copy_and_convert_pixels_fn::apply_incompatible(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; CC = boost::gil::default_color_converter; boost::gil::detail::copy_and_convert_pixels_fn::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:116:64: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::apply(const V1&, const V2&, mpl_::false_) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void; mpl_::false_ = mpl_::bool_]’ /usr/include/boost/gil/algorithm.hpp:107:74: required from ‘boost::gil::binary_operation_obj::result_type boost::gil::binary_operation_obj::operator()(const V1&, const V2&) const [with V1 = boost::gil::image_view, boost::gil::layout > >*> > >; V2 = boost::gil::image_view > >*> > >; Derived = boost::gil::detail::copy_and_convert_pixels_fn; Result = void; boost::gil::binary_operation_obj::result_type = void]’ /usr/include/boost/gil/algorithm.hpp:347:16: required from ‘void boost::gil::copy_and_convert_pixels(const View1&, const View2&) [with View1 = boost::gil::image_view, boost::gil::layout > >*> > >; View2 = boost::gil::image_view > >*> > >]’ main.cpp:26:38: required from here /usr/include/boost/gil/channel_algorithm.hpp:363:71: error: no match for call to ‘(converter_unsigned {aka boost::gil::channel_converter_unsigned, short unsigned int>}) (const boost::gil::scoped_channel_value&)’ return from_unsigned()(converter_unsigned()(to_unsigned()(src))); ^ make: *** [main.o] Error 1