#11219 closed Bugs (wontfix)
~basic_irachive is protected in library causing linking to fail
Reported by: | Owned by: | Robert Ramey | |
---|---|---|---|
Milestone: | To Be Determined | Component: | serialization |
Version: | Boost 1.58.0 | Severity: | Problem |
Keywords: | Cc: |
Description
~basic_iarchive is declared public, but somehow in the library it ends up as protected, causing a linker failure.
This happens with 1.58.0 on Windows 32 bit with VC 2013. It does not happen on Windows 64 bits or on Linux.
dumpbin Output 32bits:
591 00000000 UNDEF notype () External | ??1basic_iarchive@detail@archive@boost@@IAE@XZ (protected: __thiscall boost::archive::detail::basic_iarchive::~basic_iarchive(void))
dumpbin Output 64bits:
337 00000000 UNDEF notype () External | ??1basic_iarchive@detail@archive@boost@@QEAA@XZ (public: __cdecl boost::archive::detail::basic_iarchive::~basic_iarchive(void))
linker error on 32bit Windows with VC2013
error LNK2019: unresolved external symbol "public: __thiscall boost::archive::detail::basic_iarchive::~basic_iarchive(void)" (??1basic_iarchi
Change History (4)
comment:1 by , 7 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
comment:2 by , 7 years ago
Well, something changed from 1.57 - where this does not happen - to 1.58 in the boost source code that causes this issue. So, I would disagree that it's something that you can't fix. Reverting to 1.57 would fix it!
It's a regression that makes boost serialization completely unusable for us in Boost 1.58, because I really have no idea what could cause this and how I could fix is myself...
comment:3 by , 7 years ago
LOL - OK I'll amend my statement to say I don't know how to fix it.
"This happens with 1.58.0 on Windows 32 bit with VC 2013. It does not happen on Windows 64 bits or on Linux."
Strongly suggests that some workaround specific to VC 2013/32 bits would be required. Given that I don't have this platform, there is no way I can replicate the problem nor know if any change has fixed it. If you want to investigate this and suggest a specific change, I'll be happy to take a look at it.
comment:4 by , 7 years ago
OK, it seems this was somehow caused by reusing the build directory from boost 1.57 (where it really was protected) for 1.58 (where it's public). Sorry for the noise...
I'm marking this won't fix - what I mean is "can't fix". It seems to be something outside of the scope of the source code itself.