Opened 9 years ago

Last modified 9 years ago

#9043 reopened Bugs

Boost serialization version does not work on Windows

Reported by: richard.stutt@… Owned by: Robert Ramey
Milestone: To Be Determined Component: serialization
Version: Boost 1.54.0 Severity: Problem
Keywords: serialization version Cc:

Description

Have obtained latest version of boost and tried attached demo.cpp. I noticed that the output did not store or restore the driver name. This behaviour is the same as in the supplied example/demofile.txt and example/demo_output.txt which leads me to believe that this is not due to my system configuration.

In VS2010 when I hover over BOOST_CLASS_VERSION it gives an error:

ERROR: version is not a template

but it appears to compile without error or a warning related to this.

It appears the macro for defining versions of a class is not working, and so no classes are saving any data except for data associated with version 0, and also no data from any version other than zero will be read back in to any class either.

I have compiled from source on ubuntu and my output is correct, both saving and loading driver names.

Change History (5)

comment:1 by Robert Ramey, 9 years ago

Resolution: invalid
Status: newclosed

I don't have vc 2010 and can't reproduce it. In any case, all tests pass on this platform. I'm guessing it's an issue related to intellisense handling of macros - which is way out my scope.

in reply to:  1 comment:2 by richard.stutt@…, 9 years ago

Replying to ramey:

I don't have vc 2010 and can't reproduce it. In any case, all tests pass on this platform. I'm guessing it's an issue related to intellisense handling of macros - which is way out my scope.

I have upgraded to vc 2012 and tried again, the problem is no longer present.

I may have been unclear, to clarify: the problem I had encountered was not just intellisense, and is present in the example output as downloaded from boost:

in the supplied serialization/example/demo_output.txt (as was also shown on screen and written to file when I compiled and ran demo.cpp in vc 2010)

original schedule
6:24 bob 
0x003265C8  34º135'52.56" 134º22'78.3" 24th Street and 10th Avenue
...
restored schedule
6:24  
0x0032A2F8  34º135'52.56" 134º22'78.3" 24th Street and 10th Avenue
...
*** No errors detected

The name "bob" is absent from the restored schedule.

This is still present in the documentation example in serialization/example/demo_output.txt in both boost_1_54_0.zip and boost_1_54_0.tar.bz2 downloaded today.

At the least the example output should be updated to be correct. Additionally the example output had to be created by something, and that evidently also experienced the same error that I had experienced with vc 2010.

comment:3 by regan_t@…, 9 years ago

Are you sure this issue should be closed? It seems the "missing Bob" bug is still present for those of us using VC 2010.

comment:4 by anonymous, 9 years ago

Resolution: invalid
Status: closedreopened

comment:5 by Robert Ramey, 9 years ago

OK

How about tracking this down and submitting a patch?

Robert Ramey

Note: See TracTickets for help on using tickets.