[MacPorts] #55098: libcdr-0.1 @0.1.4_0 does not build on 10.5.8 PPC

MacPorts noreply at macports.org
Sun Oct 15 10:29:16 UTC 2017


#55098: libcdr-0.1 @0.1.4_0 does not build on 10.5.8 PPC
-------------------------+------------------------
 Reporter:  udbraumann   |      Owner:
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:
 Keywords:  leopard PPC  |       Port:  libcdr-0.1
-------------------------+------------------------
 While trying to upgrade `libcdr-0.1`from `0.1.3_1` to `0.1.4_0` I noticed
 that (a) neither one of the preferred compilers (`gcc-4.2`, `apple-
 gcc-4.2`, `gcc-4.0`, `macports-clang-3.4`, `macports-clang-3.3`) will do
 (due to missing C11 standard or because of missing basic functionality
 under PPC), and (b) none of the `macports-gcc-*` (have tried all from 4.8
 to 7) work due to some unaccepted syntax inside
 `/opt/local/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp`.
 I issued
 {{{
 $sudo port upgrade libcdr-0.1 configure.compiler=macports-gcc-4.8
 }}}
 and have received dozens of these complaints:


 {{{
 ...
 :info:build                  from CDRParser.cpp:22:
 :info:build
 /opt/local/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp:
 In instantiation of 'struct
 boost::fusion::extension::value_of_impl<boost::fusion::transform_view_iterator_tag>::apply<boost::fusion::transform_view_iterator<boost::fusion::cons_iterator<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute> >':
 :info:build /opt/local/include/boost/fusion/iterator/value_of.hpp:51:16:
 required from 'struct
 boost::fusion::result_of::value_of<boost::fusion::transform_view_iterator<boost::fusion::cons_iterator<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute> >'
 :info:build /opt/local/include/boost/mpl/aux_/has_type.hpp:20:1:
 required by substitution of 'template<class U> static char (&
 boost::mpl::aux::has_type<T, fallback_>::gcc_3_2_wknd::test(const volatile
 boost::mpl::aux::type_wrapper<U>*, boost::mpl::aux::type_wrapper<typename
 U::type>*))[2] [with U = U; T =
 boost::fusion::result_of::value_of<boost::fusion::transform_view_iterator<boost::fusion::cons_iterator<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute> >; fallback_ =
 mpl_::bool_<true>] [with U =
 boost::fusion::result_of::value_of<boost::fusion::transform_view_iterator<boost::fusion::cons_iterator<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute> >]'
 :info:build /opt/local/include/boost/mpl/aux_/has_type.hpp:20:1:
 required from 'const bool
 boost::mpl::aux::has_type<boost::fusion::result_of::value_of<boost::fusion::transform_view_iterator<boost::fusion::cons_iterator<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute> >, mpl_::bool_<true>
 >::value'
 :info:build /opt/local/include/boost/mpl/aux_/has_type.hpp:20:1:
 required from 'struct
 boost::mpl::aux::has_type<boost::fusion::result_of::value_of<boost::fusion::transform_view_iterator<boost::fusion::cons_iterator<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute> >, mpl_::bool_<true> >'
 :info:build
 /opt/local/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:32:36:
 required from 'struct
 boost::mpl::quote1<boost::fusion::result_of::value_of>::apply<boost::fusion::transform_view_iterator<boost::fusion::cons_iterator<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute> >'
 :info:build
 /opt/local/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp:36:8:
 [ skipping 31 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 :info:build
 /opt/local/include/boost/spirit/home/qi/operator/sequence_base.hpp:54:13:
 required from 'struct
 boost::spirit::qi::sequence_base<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >,
 boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >
 >::attribute<const boost::spirit::unused_type,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > > >'
 :info:build
 /opt/local/include/boost/spirit/home/qi/operator/sequence_base.hpp:78:66:
 required from 'bool boost::spirit::qi::sequence_base<Derived,
 Elements>::parse_impl(Iterator&, const Iterator&, Context&, const
 Skipper&, Attribute&, mpl_::false_) const [with Iterator =
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >; Context = const boost::spirit::unused_type;
 Skipper = boost::spirit::unused_type; Attribute =
 boost::fusion::vector<short unsigned int&, std::basic_string<char>&,
 boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
 boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
 boost::fusion::void_, boost::fusion::void_>; Derived =
 boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >;
 Elements =
 boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >;
 mpl_::false_ = mpl_::bool_<false>]'
 :info:build
 /opt/local/include/boost/spirit/home/qi/operator/sequence_base.hpp:124:50:
 required from 'bool boost::spirit::qi::sequence_base<Derived,
 Elements>::parse(Iterator&, const Iterator&, Context&, const Skipper&,
 Attribute&) const [with Iterator =
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >; Context = const boost::spirit::unused_type;
 Skipper = boost::spirit::unused_type; Attribute =
 boost::fusion::vector<short unsigned int&, std::basic_string<char>&,
 boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
 boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
 boost::fusion::void_, boost::fusion::void_>; Derived =
 boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > >;
 Elements =
 boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >]'
 :info:build /opt/local/include/boost/spirit/home/qi/parse_attr.hpp:66:82:
 required from 'bool boost::spirit::qi::parse(Iterator&, Iterator, const
 Expr&, A0&, A1&) [with Iterator =
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >; Expr =
 boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right,
 boost::proto::argsns_::list2<boost::spirit::qi::symbols<char, short
 unsigned int>&, const
 boost::proto::exprns_::expr<boost::proto::tagns_::tag::unary_plus,
 boost::proto::argsns_::list1<const
 boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> >&>, 1l>&>, 2l>; A0 = short
 unsigned int; A1 = std::basic_string<char>]'
 :info:build /opt/local/include/boost/spirit/home/qi/parse_attr.hpp:79:74:
 required from 'bool boost::spirit::qi::parse(const Iterator&, Iterator,
 const Expr&, A0&, A1&) [with Iterator =
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >; Expr =
 boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right,
 boost::proto::argsns_::list2<boost::spirit::qi::symbols<char, short
 unsigned int>&, const
 boost::proto::exprns_::expr<boost::proto::tagns_::tag::unary_plus,
 boost::proto::argsns_::list1<const
 boost::spirit::terminal<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> >&>, 1l>&>, 2l>; A0 = short
 unsigned int; A1 = std::basic_string<char>]'
 :info:build CDRParser.cpp:93:89:   required from here
 :info:build
 /opt/local/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp:37:79:
 error: no type named 'type' in 'struct
 boost::mpl::apply<boost::fusion::detail::apply_transform_result<boost::spirit::traits::build_attribute_sequence<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<char,
 short unsigned int> >,
 boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
 boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> >, const
 boost::spirit::unused_type,
 boost::spirit::traits::sequence_attribute_transform,
 std::reverse_iterator<__gnu_cxx::__normal_iterator<char*,
 std::basic_string<char> > >,
 boost::spirit::qi::domain>::element_attribute>,
 boost::spirit::qi::reference<boost::spirit::qi::symbols<char, short
 unsigned int> >, mpl_::na, mpl_::na, mpl_::na, mpl_::na>'
 :info:build                  typedef typename mpl::apply<transform_type,
 value_type>::type type;
 :info:build
 ...
 }}}

 I guess, `macports-clang-3.3` or above (or clang from XCode) will accept
 this. Is there a switch for `macports-gcc-*` make this syntax being
 accepted?

--
Ticket URL: <https://trac.macports.org/ticket/55098>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list