Re: [Boost-users] serialization, 1.34/1.35 difference: serializing a vector
Huh? I just got the whole trunk, and built it.
Still the same problem: it can't read in std::vector<int> created with 1.34.1
Anyway how would a fix in trunk help?
-I can't use the released version 1.35, as it can't read in older files.
-I can't use trunk in our program, only released/tested versions. I just tried compiling with trunk, seems there are some other issues in other libraries that would take some work. (something went missing in the signals library)
Yes, I can add item_version into the optimised versions of vector.hpp, but how is it going to work in 1.36?
If you'd tell how you would fix it in the 1.35 version, I could use just that fix in our version, untill 1.35.1 or 1.36 comes out. Without ending up with our own branched version that's always incompatible with the released versions.
thanks,
Filip Peters
----- Original Message ----
From: Robert Ramey
On Thu, Apr 3, 2008 at 4:09 PM, Filip Peters
Huh? I just got the whole trunk, and built it. Still the same problem: it can't read in std::vector<int> created with 1.34.1
Anyway how would a fix in trunk help? -I can't use the released version 1.35, as it can't read in older files. -I can't use trunk in our program, only released/tested versions. I just tried compiling with trunk, seems there are some other issues in other libraries that would take some work. (something went missing in the signals library)
Maybe we should start thinking about a 1.35.1 version? archive compatibility is a serious problem IMHO.
Yes, I can add item_version into the optimised versions of vector.hpp, but how is it going to work in 1.36? If you'd tell how you would fix it in the 1.35 version, I could use just that fix in our version, untill 1.35.1 or 1.36 comes out. Without ending up with our own branched version that's always incompatible with the released versions.
thanks, Filip Peters
[snip] -- Felipe Magno de Almeida
On Thu, Apr 03, 2008 at 12:09:27PM -0700, Filip Peters wrote:
Huh? I just got the whole trunk, and built it. Still the same problem: it can't read in std::vector<int> created with 1.34.1
Anyway how would a fix in trunk help? -I can't use the released version 1.35, as it can't read in older files.
Right, this wouldn't help.
-I can't use trunk in our program, only released/tested versions. I just tried
You mean it is your policy, right?
compiling with trunk, seems there are some other issues in other libraries that would take some work. (something went missing in the signals library)
Have you reported these issues? Please remember that once you start testing development versions, especially release snapshots, you could ensure that such issues are fixed before the release! Now imagine the serialisation issues will be fixed but you would still fail to compile signals, it would not nice for you too, right? I'm not sure but I think that even trunk code should *always* compile cleanly. There may of course be problems with non conforming compilers which are found later ...
If you'd tell how you would fix it in the 1.35 version, I could use just that fix in our version, untill 1.35.1 or 1.36 comes out. Without ending up with our own branched version that's always incompatible with the released versions.
You could indeed add a local copy of boost to your source code. So you would be on the save side. This is especially an option as Boost guarantees no fixed API and ABI.
----- Original Message ---- From: Robert Ramey
Please learn properly quoting and avoid top postings! Jens
Hello everybody, we at EOS too rely heavily on backwards compatibility of boost::serialization so I read this topic with great interest. And found Filip's discovery quite shocking I must say! I tried the testing program on my machine using boost-1.33.1 and boost-1.35 and all of the boost::archives. And guess what: It worked!! Soooo, this is quite confusing! Either version 1.34 breaks the compatibility or Filip's observation is wrong. Or mine, as everything might depend on the machine architecture or some other nasty detail... Is think this has to be investigated closer. Btw: my portable binary archive which really does nothing more than endian handling on top of the binary archive was broken by version 1.34 too (wrt reading files generated by 1.33.1). It has to do with the serialization of std collections as well, that much I found out. I did not do extensive investigation then but simply did not migrate. I may have time to take a closer look in the near future though. Regards, -- Christian Pfligersdorffer Software Engineering http://www.eos.info PS: Jens wrote:
Have you reported these issues? Please remember that once you start testing development versions, especially release snapshots, you could ensure that such issues are fixed before the release!
Never forget that there users who are not so involved in the boost community, be it for the lack of interest or simply because they are engaged in projects that leave no room for testing of upcoming library versions. Between the announcement and the official release there was less than a laughable day...
participants (4)
-
Felipe Magno de Almeida
-
Filip Peters
-
Jens Seidel
-
Pfligersdorffer, Christian