On Thu, Oct 18, 2018 at 10:57 AM, Alexander Grund
Using static libs in shared libs is a recipe for disaster isn't it? It's undefined behavior..
Aren't shared libs per se undefined behavior? As far as I remember the
Implementation defined
standard does not say much about them and it happens easily "in the wild":
True
You might use Boost.Serialization yourself but also use a 3rd-party library which does use it for its own stuff.
Does it make sense to try to 'work around' it on specific implementations?
This is exactly what is happening:
Observed behavior on "specific implementations" is: - Destruction order on Windows+OSX is as expected, so no problems - On linux the order gets messed up. This gets detected by a dedicated
What does Linux 'say' about using static libs in shared libs?
Hence the "work around" is to detect and handle this:
My point is that it might not make sense to work around this as other issues are likely to pop up. -- Olaf