
James Hughes wrote:
With reference to this fix, where can I get it or should I revert to 1.33.0 rather than 1.33.1 which I currently have?
The patch Joel was talking about never got applied to the 1.33.1 branch. Seems you are referring to another problem, which wasn't investigated yet. So give us some time to figure out what went wrong, please.
Sorry, they seemed very similar problems from the description. I'll hang loose for the moment then! I will go back to 33.0 to see if that compiles cleanly for arm (and post any significent resutls), and in the meantime keep an eye on things here for any news.
I was just trying to understand what's wrong, and discovered that I don't have enough information from you to pinpoint the problem. Could you please provide me with some additional information as your platform/compiler, perhaps a minimal (non-)compiling sample etc.
Thanks in advance Regards Hartmut
Hi Hartmut, I enclose below two of the error messages seen when compiling the boost library on a Sus9.3 Linux box, cross compiling to am Linux Arm architecture. The command used to compile is... bjam "-sGCC_ROOT_DIRECTORY=/opt/montavista/mobilinux/devkit/arm/iwmmxt_le" "-sGCC=iwmmxt_le-gcc" "-sGXX=iwmmxt_le-g++" stage A lot of the lib appears to build OK, but I get the following error a lot in the files that don't.
gcc-C++-action bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_cpp_exprgram mar.o In file included from /home/jhughes/boost_1_33_1/boost/spirit/core.hpp:34, from /home/jhughes/boost_1_33_1/boost/wave/grammars/cpp_expression_grammar.hpp:15 , from /home/jhughes/boost_1_33_1/libs/wave/build/../src/instantiate_cpp_exprgramma r.cpp:20: /home/jhughes/boost_1_33_1/boost/spirit/core/primitives/numerics.hpp:120: error: declaration of `template<class ScannerT> struct boost::spirit::sign_parser::result' /home/jhughes/boost_1_33_1/boost/spirit/core/parser.hpp:123: error: conflicts with previous declaration `template<class ScannerT> struct boost::spirit::parser<boost::spirit::sign_parser>::result' set -e "/opt/montavista/mobilinux/devkit/arm/iwmmxt_le/bin/iwmmxt_le-g++" -D_REENTRANT -c -Wall -ftemplate-depth-255 -g -O0 -fno-inline -I"bin/boost/libs/wave/build" -I"/home/jhughes/boost_1_33_1" -I "/home/jhughes/boost_1_33_1" -o "bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_cpp_exprgra mmar.o" "/home/jhughes/boost_1_33_1/libs/wave/build/../src/instantiate_cpp_exprgramm ar.cpp" "/opt/montavista/mobilinux/devkit/arm/iwmmxt_le/bin/iwmmxt_le-objcopy" --set-section-flags .debug_str=contents,debug "bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_cpp_exprgra mmar.o" ...failed gcc-C++-action bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_cpp_exprgram mar.o... <<<< In addition I get the follow error also :
gcc-C++-action bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_predef_macro s.o In file included from /home/jhughes/boost_1_33_1/boost/spirit/core.hpp:34, from /home/jhughes/boost_1_33_1/boost/wave/grammars/cpp_predef_macros_grammar.hpp :14, from /home/jhughes/boost_1_33_1/libs/wave/build/../src/instantiate_predef_macros. cpp:19: /home/jhughes/boost_1_33_1/boost/spirit/core/primitives/numerics.hpp:120: error: declaration of `template<class ScannerT> struct boost::spirit::sign_parser::result' /home/jhughes/boost_1_33_1/boost/spirit/core/parser.hpp:123: error: conflicts with previous declaration `template<class ScannerT> struct boost::spirit::parser<boost::spirit::sign_parser>::result' In file included from /home/jhughes/boost_1_33_1/boost/spirit/tree/parse_tree.hpp:12, from /home/jhughes/boost_1_33_1/boost/wave/grammars/cpp_predef_macros_grammar.hpp :15, from /home/jhughes/boost_1_33_1/libs/wave/build/../src/instantiate_predef_macros. cpp:19: /home/jhughes/boost_1_33_1/boost/spirit/tree/common.hpp:673: error: declaration of `template<class MatchPolicyT, class IteratorT, class NodeFactoryT, class TreePolicyT> template<class T> struct boost::spirit::common_tree_match_policy<MatchPolicyT, IteratorT, NodeFactoryT, TreePolicyT>::result' /home/jhughes/boost_1_33_1/boost/spirit/core/scanner/scanner.hpp:62: error: conflicts with previous declaration `template<class T> struct boost::spirit::match_policy::result' /home/jhughes/boost_1_33_1/boost/spirit/tree/parse_tree.hpp: In static member function `static void boost::spirit::pt_tree_policy<MatchPolicyT, NodeFactoryT>::group_match(MatchT&, const boost::spirit::parser_id&, const Iterator1T&, const Iterator2T&) [with MatchT = boost::spirit::match<boost::spirit::nil_t>, Iterator1T = boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost:: wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, Iterator2T = boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost:: wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, MatchPolicyT = boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, NodeFactoryT = boost::spirit::node_val_data_factory<boost::spirit::nil_t>]': /home/jhughes/boost_1_33_1/boost/spirit/tree/common.hpp:759: instantiated from `void boost::spirit::common_tree_match_policy<MatchPolicyT, IteratorT, NodeFactoryT, TreePolicyT>::group_match(MatchT&, const boost::spirit::parser_id&, const IteratorT2&, const IteratorT2&) const [with MatchT = boost::spirit::match<boost::spirit::nil_t>, IteratorT2 = boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost:: wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, MatchPolicyT = boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, IteratorT = boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost:: wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, NodeFactoryT = boost::spirit::node_val_data_factory<boost::spirit::nil_t>, TreePolicyT = boost::spirit::pt_tree_policy<boost::spirit::pt_match_policy<boost::wave::cp plexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::fil e_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >]' /home/jhughes/boost_1_33_1/boost/spirit/core/non_terminal/impl/rule.ipp:191: instantiated from `typename boost::spirit::parser_result<DerivedT, ScannerT>::type boost::spirit::impl::rule_base<DerivedT, EmbedT, T0, T1, T2>::parse_main(const ScannerT&) const [with ScannerT = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, DerivedT = boost::spirit::rule<boost::spirit::scanner<boost::wave::cpplexer::lex_iterat or<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost:: wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t>, EmbedT = const boost::spirit::rule<boost::spirit::scanner<boost::wave::cpplexer::lex_iterat or<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost:: wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t>&, T0 = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, T1 = boost::spirit::nil_t, T2 = boost::spirit::nil_t]' /home/jhughes/boost_1_33_1/boost/spirit/core/non_terminal/impl/rule.ipp:171: instantiated from `typename boost::spirit::parser_result<DerivedT, ScannerT>::type boost::spirit::impl::rule_base<DerivedT, EmbedT, T0, T1, T2>::parse(const ScannerT&) const [with ScannerT = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, DerivedT = boost::spirit::rule<boost::spirit::scanner<boost::wave::cpplexer::lex_iterat or<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost:: wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t>, EmbedT = const boost::spirit::rule<boost::spirit::scanner<boost::wave::cpplexer::lex_iterat or<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost:: wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t>&, T0 = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, T1 = boost::spirit::nil_t, T2 = boost::spirit::nil_t]' /home/jhughes/boost_1_33_1/boost/spirit/core/non_terminal/impl/grammar.ipp:2 62: instantiated from `static void boost::spirit::impl::call_helper<0>::do_(RT&, DefinitionT&, const ScannerT&) [with RT = boost::spirit::match<boost::spirit::nil_t>, DefinitionT = boost::wave::grammars::predefined_macros_grammar::definition<boost::spirit:: scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token <boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> > >, ScannerT = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >]' /home/jhughes/boost_1_33_1/boost/spirit/core/non_terminal/impl/grammar.ipp:2 81: instantiated from `typename boost::spirit::parser_result<boost::spirit::grammar<DerivedT, ContextT>, ScannerT>::type boost::spirit::impl::grammar_parser_parse(const boost::spirit::grammar<DerivedT, ContextT>*, const ScannerT&) [with int N = 0, DerivedT = boost::wave::grammars::predefined_macros_grammar, ContextT = boost::spirit::parser_context<boost::spirit::nil_t>, ScannerT = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >]' /home/jhughes/boost_1_33_1/boost/spirit/core/non_terminal/grammar.hpp:55: instantiated from `typename boost::spirit::parser_result<boost::spirit::grammar<DerivedT, ContextT>, ScannerT>::type boost::spirit::grammar<DerivedT, ContextT>::parse_main(const ScannerT&) const [with ScannerT = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, DerivedT = boost::wave::grammars::predefined_macros_grammar, ContextT = boost::spirit::parser_context<boost::spirit::nil_t>]' /home/jhughes/boost_1_33_1/boost/spirit/core/non_terminal/grammar.hpp:63: instantiated from `typename boost::spirit::parser_result<boost::spirit::grammar<DerivedT, ContextT>, ScannerT>::type boost::spirit::grammar<DerivedT, ContextT>::parse(const ScannerT&) const [with ScannerT = boost::spirit::scanner<boost::wave::cpplexer::lex_iterator<boost::wave::cppl exer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_str ing<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::pt_match_policy<boost::wave::cpplexer::lex_iterator<boost::wa ve::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util:: flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::spirit::node_val_data_factory<boost::spirit::nil_t> >, boost::spirit::action_policy> >, DerivedT = boost::wave::grammars::predefined_macros_grammar, ContextT = boost::spirit::parser_context<boost::spirit::nil_t>]' /home/jhughes/boost_1_33_1/boost/spirit/tree/parse_tree.hpp:228: instantiated from `boost::spirit::tree_parse_info<IteratorT, boost::spirit::node_val_data_factory<boost::spirit::nil_t>, boost::spirit::nil_t> boost::spirit::pt_parse(const IteratorT&, const IteratorT&, const boost::spirit::parser<DerivedT>&) [with IteratorT = boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost:: wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, ParserT = boost::wave::grammars::predefined_macros_grammar]' /home/jhughes/boost_1_33_1/boost/wave/grammars/cpp_predef_macros_grammar.hpp :153: instantiated from `static boost::spirit::tree_parse_info<IteratorT, boost::spirit::node_val_data_factory<boost::spirit::nil_t>, boost::spirit::nil_t> boost::wave::grammars::predefined_macros_grammar_gen<LexIteratorT>::parse_pr edefined_macro(const LexIteratorT&, const LexIteratorT&) [with LexIteratorT = lexer_type]' /home/jhughes/boost_1_33_1/libs/wave/build/../src/instantiate_predef_macros. cpp:33: instantiated from here /home/jhughes/boost_1_33_1/boost/spirit/tree/parse_tree.hpp:74: error: 'class boost::spirit::match<boost::spirit::nil_t>' has no member named 'trees' set -e "/opt/montavista/mobilinux/devkit/arm/iwmmxt_le/bin/iwmmxt_le-g++" -D_REENTRANT -c -Wall -ftemplate-depth-255 -g -O0 -fno-inline -I"bin/boost/libs/wave/build" -I"/home/jhughes/boost_1_33_1" -I "/home/jhughes/boost_1_33_1" -o "bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_predef_macr os.o" "/home/jhughes/boost_1_33_1/libs/wave/build/../src/instantiate_predef_macros .cpp" "/opt/montavista/mobilinux/devkit/arm/iwmmxt_le/bin/iwmmxt_le-objcopy" --set-section-flags .debug_str=contents,debug "bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_predef_macr os.o" ...failed gcc-C++-action bin/boost/libs/wave/build/libboost_wave.a/gcc/debug/instantiate_predef_macro s.o... <<<< Apologies for the horrendous formatting - not sure of the best way of posting these errors. There are others but don't want the message to get too large unless requested. Hope that helps... James