Boost logo

Boost :

Subject: [boost] [Serialization] Assertion when registering same type from different modules, release branch broken?
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2010-04-23 22:28:19


Hi,

In the newest version of the serialization library (trunk) I'm seeing
assertions in file void_cast.cpp, line 227 during application startup. The
reason appears to be that the same type gets registered for serialization
from different modules (shared libraries).

The very same code worked for us before (and still works for V1.42). I did
not check with the release candidate yet, but a comparison of the file
void_cast.cpp in trunk and release branch lets me assume the error is there
as well (both files are identical). I will try to recompile everything on
the release branch over the weekend. If the same behavior shows up in the
release branch I'd consider the serialization library seriously broken.

The problem is, that I really don't know how to avoid this multiple
registration from different modules as the type in question is defined in a
header file (no EXPORT macro) which is being used from different modules. I
don't think this is something really special.

Any ideas what we could do? What's the rationale of changing the
registration behavior in the serialization library?

Regards Hartmut

---------------
Meet me at BoostCon
www.boostcon.com


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