Boost logo

Boost Users :

Subject: [Boost-users] Problem with exception and property tree in 1.41.0.
From: Jakub Herkel (j.herkel_at_[hidden])
Date: 2009-11-19 03:37:46


Hello,

I have tried 1.41.0, especially PropertyTree. I used cross compiler
arm-linux-g++ version 3.2.2 and example from property tree
(debug_settings.cpp). My compilation has failed with these output :

In file included
from /usr/local/arm-linux/arm-linux/include/boost/thread/future.hpp:12,

from /usr/local/arm-linux/arm-linux/include/boost/thread.hpp:24,

from /home/jakub/projects/tigris/agent/src/main/cpp/agent/Agent.cpp:10:
/usr/local/arm-linux/arm-linux/include/boost/exception_ptr.hpp:43:
error: looser
   throw specifier for `virtual boost::exception_ptr::~exception_ptr()'
/usr/local/arm-linux/arm-linux/include/boost/exception/detail/exception_ptr_base.hpp:27: error:
    overriding `virtual
   boost::exception_detail::exception_ptr_base::~exception_ptr_base()
throw ()'
/usr/local/arm-linux/arm-linux/include/boost/exception_ptr.hpp:43:
error: looser
   throw specifier for `virtual boost::exception_ptr::~exception_ptr()'
/usr/local/arm-linux/arm-linux/include/boost/exception/detail/exception_ptr_base.hpp:27: error:
    overriding `virtual
   boost::exception_detail::exception_ptr_base::~exception_ptr_base()
throw ()'
/usr/local/arm-linux/arm-linux/include/boost/exception_ptr.hpp:43:
error: looser
   throw specifier for `virtual boost::exception_ptr::~exception_ptr()'
/usr/local/arm-linux/arm-linux/include/boost/exception/detail/exception_ptr_base.hpp:27: error:
    overriding `virtual
   boost::exception_detail::exception_ptr_base::~exception_ptr_base()
throw ()'
In file included
from /usr/local/arm-linux/arm-linux/include/boost/property_tree/xml_parser.hpp:19,

from /home/jakub/projects/tigris/agent/src/main/cpp/agent/Agent.cpp:17:
/usr/local/arm-linux/arm-linux/include/boost/property_tree/detail/xml_parser_read_rapidxml.hpp: In
   function `void

boost::property_tree::xml_parser::read_xml_internal(std::basic_istream<typename
   Ptree::key_type::value_type, std::char_traits<typename
   Ptree::key_type::value_type> >&, Ptree&, int, const std::string&)':
/usr/local/arm-linux/arm-linux/include/boost/property_tree/detail/xml_parser_read_rapidxml.hpp:122: error: parse
   error before `>' token

There are two problems:
1) One in file boost/exception/detail/exception_ptr_base.hpp
2) Second in file
boost/property_tree/detail/xml_parser_read_rapidxml.hpp

I have compared old and new version of file exception_ptr_base.hpp and
there is one difference. The new version added a virtual destructor.
When I removed this line, the first problem was solved. My question is
(because I'm not an expert in Boost) : Can I remove this virtual
destructor without any consequence?

For the second problem I think that STL library which is used in
arm-linux toolchain is a little bit old. But maybe I'm wrong. As
a temporary fix I also removed this line. But I hope that there is a
better solution how to fix it. Could someone show me the way how I can
solve it?

Thank you in advance

best regards

jakub


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net