Boost logo

Boost Users :

Subject: Re: [Boost-users] [serialization] boost 1.33.1, HP-UX ia64 & gcc-3.4.4
From: Robert Ramey (ramey_at_[hidden])
Date: 2010-01-15 12:56:28


One think you can to is examine the XML created. It might show
something obvious. In this case, it says that the start tag doesn't
match the end tag which should be easy to find. This might
point you to the source of the problem.

Robert Ramey

Frank Bergemann wrote:
> Hi,
> for a porting job i needed to shift from OSF tru64 to HP-UX V3 ia64
> (on both using gcc-3.4.4)
> There i have stream error exception for boost::serialization data
> import via XML.
> The exception is thrown here:
>
> include/boost/archive/impl/basic_xml_iarchive.ipp:
> template<class Archive>
> BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
> basic_xml_iarchive<Archive>::load_start(const char *name){
> // if there's no name
> if(NULL == name)
> return;
> bool result =
> this->This()->gimpl->parse_start_tag(this->This()->get_is());
> if(true != result){
> boost::throw_exception(
> archive_exception(archive_exception::stream_error)
> );
> }
> // don't check start tag at highest level
> ++depth;
> return;
> }
>
> I.e. it fails to parse the XML data via boost:spirit.
> I tried to debug with 'gdb', but was impossible for me at the level
> of boost::spirit parser implementation.
> Then i was remembering, that there are two sets of boost libs - one
> "normal" and a "debug" version.
> So i switched to the debug version - just to see, if i can better dig
> into the details with 'gdb' with it.
>
> And suddenly the problem was gone.
> I.e. my application works, if i link with
> libboost_serialization-gcc-d.a
> But it doesn't work, if i link with libboost_serialization-gcc.a
>
> I also tried to extract all the stuff from the boost::serialization,
> that is used by my application, into a little test program.
> Just to feed in the same XML string, that fails for my application.
> I wanted to see, that i can re-produce the problem - but for a
> minimum program.
> - for using that next to evaluate deeper.
> But - unfortunately - for my test programm it works (with both
> library versions, "debug" and "normal" one).
>
> So it is really hard to find the reason for the problem.
> I also checked about compiler support on the boost.org pages.
> And actually it was only boost lib 1.38.0, which mentions HP-UX IA64
> together with gcc.
> But that was gcc-4.2.1 (i use 3.4.4.).
> Before 1.38.0, it was alway the HP native compiler (not gcc).
> After 1.38.0 HP-UX is not mentioned at all anymore.
> So i guess i am generally in bad conditions for my "constellation"
> (HP-UX ia64 V3, gcc-3.4.4, boost 1.33.1).
>
> What is the difference about "debug" lib image and "non-debug" lib
> image?
> Is it just optimization level for the compiler?
> Do you have any hint for me?
> It might be a problem of gcc-3.4.4 itself on hp-ux (i'll check).
> But it would be interesting to here, if s.o. else had the same
> problem(?!)
>
> - many thanks!
>
> Frank Bergemann
>
>
> ____________________________________________________________________
> WEB.DE MillionenKlick: Kostenlos tippen, täglich 1 Million gewinnen!
> http://produkte.web.de/go/07/


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