Hi,
     I'm new to Boost Serialization library . I wanted to use the library for some of my full fledge so I thought I might as well test out the features that the library documentation claimed it had . Many of the basic features did work but some of the advanced features that I wanted most like object tracking and serializing derived objects through a pointer to the base class gave me some problems .

I faced the following two problems ( in order of decreasing priority ):

(1) Object Serialization : I have 4 pointers to 3 objects of the same class , On deserializing these the pointers are mixed up . If while writing out pointers 1 & 2 pointed to objects 1 and 2 , and pointers 3 and 4 pointed to objects 1 and 3 then on restoration pointers 1 & 2 pointed to objects 1 & 2 but pointers 3 & 4 pointed to objects 2 and 3 instead of 1 and 3 .

(2) Writing derived objects through pointer to base class : This feature worked if I did a registration through ar.register_type(static_cast<gps_moreAcc1 *>(NULL)) but did not work if I did BOOST_CLASS_EXPORT( gps_moreAcc1) .
I get a "DoneAbort"  message i.e a core dump .

I don't know too much about templates , so I was not able to debug the problem .

I have attached a program which exhibit both problems , but the code that causes the second problem is commented out . This can be reproduced by just commenting out ar.register_type calls and uncommenting BOOST_CLASS_EXPORT macros .
I have added more comments in the source file .

Please let me know if I am doing something wrong or if these are know problems with the serialization library or if the serialization library cannot be handled by serialization .

+Mahesh