[boost] [property_tree] XML parser broken in 1.39.0

67 views
Skip to first unread message

Boris Schaeling

unread,
May 14, 2009, 10:27:27 AM5/14/09
to bo...@lists.boost.org
Calling boost::property_tree::xml_parser::read_xml() to parse a XML file
and populate a property_tree doesn't work anymore in Boost 1.39.0 (at
least not in Visual C++ 2008). The compiler error I see is:

boost\iterator\iterator_adaptor.hpp(230) : error C2027: use of undefined
type 'boost::STATIC_ASSERTION_FAILURE<x>'
with
[
x=false
]

The property_tree headers include
boost\spirit\home\classic\iterator\position_iterator.hpp which includes
boost\iterator\iterator_adaptor.hpp. I also see this warning:

Warning: This header is deprecated. Please use:
boost/spirit/include/classic.hpp
Warning: This header is deprecated. Please use:
boost/spirit/include/classic_position_iterator.hpp

It looks like as if a change in Boost.Spirit or Boost.Iterator broke the
XML parser. Does Boost.PropertyTree have a maintainer who can look into
this?

Boris

PS: As it turns out it's broken in Boost 1.38.0, too. With 1.36.0 I don't
get a compile error (1.37.0 I don't have installed and can't test).

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Daniel James

unread,
May 14, 2009, 11:27:14 AM5/14/09
to bo...@lists.boost.org
2009/5/14 Boris Schaeling <bo...@highscore.de>:

> Calling boost::property_tree::xml_parser::read_xml() to parse a XML file and
> populate a property_tree doesn't work anymore in Boost 1.39.0 (at least not
> in Visual C++ 2008). The compiler error I see is:
>
> boost\iterator\iterator_adaptor.hpp(230) : error C2027: use of undefined
> type 'boost::STATIC_ASSERTION_FAILURE<x>'
> with
> [
>    x=false
> ]

Are you using the version from the vault? It's a bit out of date, this
is fixed in trunk.

Daniel

Boris Schaeling

unread,
May 14, 2009, 11:37:18 AM5/14/09
to bo...@lists.boost.org
On Thu, 14 May 2009 17:27:14 +0200, Daniel James
<daniel...@fmail.co.uk> wrote:

> 2009/5/14 Boris Schaeling <bo...@highscore.de>:
>> Calling boost::property_tree::xml_parser::read_xml() to parse a XML
>> file and
>> populate a property_tree doesn't work anymore in Boost 1.39.0 (at least
>> not
>> in Visual C++ 2008). The compiler error I see is:
>>
>> boost\iterator\iterator_adaptor.hpp(230) : error C2027: use of undefined
>> type 'boost::STATIC_ASSERTION_FAILURE<x>'
>> with
>> [
>>    x=false
>> ]
>
> Are you using the version from the vault? It's a bit out of date, this
> is fixed in trunk.

Ah, good to know that someone is working on the library. I thought the
version from the vault is still up-to-date. I'll try the one in the trunk.

Boris

Boris Schaeling

unread,
May 14, 2009, 2:40:44 PM5/14/09
to bo...@lists.boost.org
On Thu, 14 May 2009 17:27:14 +0200, Daniel James
<daniel...@fmail.co.uk> wrote:

> 2009/5/14 Boris Schaeling <bo...@highscore.de>:
>> Calling boost::property_tree::xml_parser::read_xml() to parse a XML
>> file and
>> populate a property_tree doesn't work anymore in Boost 1.39.0 (at least
>> not
>> in Visual C++ 2008). The compiler error I see is:
>>
>> boost\iterator\iterator_adaptor.hpp(230) : error C2027: use of undefined
>> type 'boost::STATIC_ASSERTION_FAILURE<x>'
>> with
>> [
>>    x=false
>> ]
>
> Are you using the version from the vault? It's a bit out of date, this
> is fixed in trunk.

After pulling the version from the trunk I get many other errors as the
interface of the ptree class changed. Is there any tutorial somewhere
(even a small one would be fine just to see how to get and set values
now)? There is no documentation at all in the trunk unfortunately.

Boris

Boris Schaeling

unread,
May 14, 2009, 3:31:47 PM5/14/09
to bo...@lists.boost.org
On Thu, 14 May 2009 20:40:44 +0200, Boris Schaeling <bo...@highscore.de>
wrote:

> On Thu, 14 May 2009 17:27:14 +0200, Daniel James
> <daniel...@fmail.co.uk> wrote:
>
>> 2009/5/14 Boris Schaeling <bo...@highscore.de>:
>>> Calling boost::property_tree::xml_parser::read_xml() to parse a XML
>>> file and
>>> populate a property_tree doesn't work anymore in Boost 1.39.0 (at
>>> least not
>>> in Visual C++ 2008). The compiler error I see is:
>>>
>>> boost\iterator\iterator_adaptor.hpp(230) : error C2027: use of
>>> undefined
>>> type 'boost::STATIC_ASSERTION_FAILURE<x>'
>>> with
>>> [
>>>    x=false
>>> ]
>>
>> Are you using the version from the vault? It's a bit out of date, this
>> is fixed in trunk.
>
> After pulling the version from the trunk I get many other errors as the
> interface of the ptree class changed. Is there any tutorial somewhere
> (even a small one would be fine just to see how to get and set values
> now)? There is no documentation at all in the trunk unfortunately.

I managed to adapt my code meanwhile (and use now the new path class).

Sebastian Redl

unread,
May 14, 2009, 3:48:54 PM5/14/09
to bo...@lists.boost.org
Boris Schaeling wrote:
> After pulling the version from the trunk I get many other errors as
> the interface of the ptree class changed. Is there any tutorial
> somewhere (even a small one would be fine just to see how to get and
> set values now)? There is no documentation at all in the trunk
> unfortunately.
Yes there is, but it's in quickbook form. To read it, you need a
quickbook toolchain.

Sebastian

Reply all
Reply to author
Forward
0 new messages