Boost logo

Boost :

From: SourceForge.net (noreply_at_[hidden])
Date: 2005-08-08 05:12:17


Bugs item #1254062, was opened at 2005-08-08 03:12
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1254062&group_id=7586

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: serialization
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Robert Ramey (ramey)
Summary: 1.33 RC2: polymorphic stuff broken further??

Initial Comment:
Hello again,

i just downloaded 1.33 RC2 and noticed polymorphic
serialization doesnt work for my projects anymore.
These errors are new and different from RC1 (which
didnt work too, but 1.32 works).
I cant get it compile anymore (static compile time
asserts and others)...

I even loaded up the provided sample boost ser.
projects and notice there are similar errors too
(from libs\serialization\vc7ide\*.sln)

---- demo_exception

demo_exception.cpp
e:\SDK\Boost\boost_1_33_0_RC2\libs\serialization\vc7ide\..\..\..\boost\archive\detail\oserializer.hpp(566)
: error C2027: use of undefined type
'boost::STATIC_ASSERTION_FAILURE<x>'
        with
        [
            x=false
        ]
       
e:\SDK\Boost\boost_1_33_0_RC2\libs\serialization\vc7ide\..\..\..\boost\archive\detail\oserializer.hpp(566)
: see reference to class template instantiation
'boost::STATIC_ASSERTION_FAILURE<x>' being compiled
        with
        [
            x=false
        ]
       
e:\SDK\Boost\boost_1_33_0_RC2\libs\serialization\vc7ide\..\..\..\boost\archive\basic_text_oarchive.hpp(78)
: see reference to function template instantiation
'void boost::archive::save<Archive,T>(Archive &,T & )'
being compiled
        with
        [
            Archive=boost::archive::text_oarchive,
            T=School *
        ]
       
e:\SDK\Boost\boost_1_33_0_RC2\libs\serialization\vc7ide\..\..\..\boost\archive\detail\interface_oarchive.hpp(85)
: see reference to function template instantiation
'void
boost::archive::basic_text_oarchive<Archive>::save_override<T>(T
& ,int)' being compiled
        with
        [
            Archive=boost::archive::text_oarchive,
            T=School *
        ]
       
\SDK\Boost\boost_1_33_0_RC2\libs\serialization\example\demo_exception.cpp(219)
: see reference to function template instantiation
'Archive
&boost::archive::detail::interface_oarchive<Archive>::operator
<<<School*>(T & )' being compiled
        with
        [
            Archive=boost::archive::text_oarchive,
            T=School *
        ]

(iserializer is same problem:)

Boost\boost_1_33_0_RC2\libs\serialization\vc7ide\..\..\..\boost\archive\detail\iserializer.hpp(544)
: error C2027: use of undefined type
'boost::STATIC_ASSERTION_FAILURE<x>'

(similar to error in my projects)

These errors go away if i make objects to be serialized
"const"
e.g. (for the sample) school* const .. ????

This "constness" constraint didnt show up in 1.32.

It is especially difficult to enforce it if you
serialize members with "ar & m1 & m2 .. " notation.

----- demo_shared_ptr:

Boost\boost_1_33_0_RC2\libs\serialization\example\demo_shared_ptr.cpp(138)
: error C2039: 'sp_counted_base_impl' : is not a member
of 'boost::detail'
Boost\boost_1_33_0_RC2\libs\serialization\example\demo_shared_ptr.cpp(138)
: error C2061: syntax error : identifier
'sp_counted_base_impl'
....

There are some errors with invalid project references
and library names at all (linker errors, tries to link
with wrong libs).
It seems the project files are out of sync for long time.

----------------

Additionally:

boost\boost\archive\detail\interface_iarchive.hpp(73) :
error C2039: 'basic_iarchive' : is not a member of
'boost::archive::polymorphic_iarchive'
        
boost\boost\archive\polymorphic_iarchive.hpp(52) : see
declaration of 'boost::archive::polymorphic_iarchive'
        
boost\boost\archive\detail\interface_iarchive.hpp(72) :
while compiling class-template member function 'void
boost::archive::detail::interface_iarchive<Archive>::lookup_helper(const
boost::serialization::extended_type_info *const
,boost::shared_ptr<T> &)'
 
boost\boost\archive\detail\interface_iarchive.hpp(73) :
error C2662:
'boost::archive::detail::basic_iarchive::lookup_basic_helper'
: cannot convert 'this' pointer from
'boost::archive::polymorphic_iarchive' to
'boost::archive::detail::basic_iarchive &'
        Reason: cannot convert from
'boost::archive::polymorphic_iarchive' to
'boost::archive::detail::basic_iarchive'
        Conversion requires a second
user-defined-conversion operator or constructor

This is my include list (i use precompiled header):

...

#include "boost/archive/polymorphic_oarchive.hpp"
#include "boost/archive/polymorphic_iarchive.hpp"

#include "boost/serialization/shared_ptr.hpp"
#include "boost/serialization/serialization.hpp"
#include "boost/serialization/utility.hpp"
#include "boost/serialization/list.hpp"
#include "boost/serialization/version.hpp"
#include "boost/serialization/map.hpp"
#include "boost/serialization/vector.hpp"
#include "boost/serialization/string.hpp"
#include "boost/serialization/split_member.hpp"

(i had to move "boost/serialization/shared_ptr.hpp"
backwards after "archive" headers in contrast to 1.32)

These 1.33 poly serialization bugs are big showstoppers
for us because we extensively use serialization.
If they remain, 1.33 will have to be skipped...

Regards,

A. Focht

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1254062&group_id=7586

-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Boost-bugs mailing list
Boost-bugs_at_[hidden]
https://lists.sourceforge.net/lists/listinfo/boost-bugs


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk