Found problem that caused compilation errors with gcc 3.4.6: template instatiated with "runtime const" instead of "compile time const" --- boost-1.46.0/boost/property_tree/detail/xml_parser_read_rapidxml.hpp.orig 2010-10-15 08:40:04.000000000 -0400 +++ boost-1.46.0/boost/property_tree/detail/xml_parser_read_rapidxml.hpp 2011-03-07 15:45:58.000000000 -0500 @@ -103,13 +103,14 @@ try { // Parse using appropriate flags - const int f_tws = parse_normalize_whitespace - | parse_trim_whitespace; - const int f_c = parse_comment_nodes; + enum { f_tws = parse_normalize_whitespace + | parse_trim_whitespace }; + + enum { f_c = parse_comment_nodes}; // Some compilers don't like the bitwise or in the template arg. - const int f_tws_c = parse_normalize_whitespace + enum { f_tws_c = parse_normalize_whitespace | parse_trim_whitespace - | parse_comment_nodes; + | parse_comment_nodes }; xml_document doc; if (flags & no_comments) { if (flags & trim_whitespace)