Boost C++ Libraries: Ticket #11219: ~basic_irachive is protected in library causing linking to fail https://svn.boost.org/trac10/ticket/11219 <p> ~basic_iarchive is declared public, but somehow in the library it ends up as protected, causing a linker failure. </p> <p> This happens with 1.58.0 on Windows 32 bit with VC 2013. It does not happen on Windows 64 bits or on Linux. </p> <p> dumpbin Output 32bits: </p> <pre class="wiki">591 00000000 UNDEF notype () External | ??1basic_iarchive@detail@archive@boost@@IAE@XZ (protected: __thiscall boost::archive::detail::basic_iarchive::~basic_iarchive(void)) </pre><p> dumpbin Output 64bits: </p> <pre class="wiki">337 00000000 UNDEF notype () External | ??1basic_iarchive@detail@archive@boost@@QEAA@XZ (public: __cdecl boost::archive::detail::basic_iarchive::~basic_iarchive(void)) </pre><p> linker error on 32bit Windows with VC2013 </p> <pre class="wiki">error LNK2019: unresolved external symbol "public: __thiscall boost::archive::detail::basic_iarchive::~basic_iarchive(void)" (??1basic_iarchi </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11219 Trac 1.4.3 Robert Ramey Fri, 24 Apr 2015 21:09:52 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/11219#comment:1 https://svn.boost.org/trac10/ticket/11219#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> 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. </p> Ticket Mika Fischer <mika.fischer@…> Mon, 27 Apr 2015 08:27:36 GMT <link>https://svn.boost.org/trac10/ticket/11219#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11219#comment:2</guid> <description> <p> 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! </p> <p> 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... </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Mon, 27 Apr 2015 15:24:52 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11219#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11219#comment:3</guid> <description> <p> LOL - OK I'll amend my statement to say I don't know how to fix it. </p> <p> "This happens with 1.58.0 on Windows 32 bit with VC 2013. It does not happen on Windows 64 bits or on Linux." </p> <p> 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. </p> </description> <category>Ticket</category> </item> <item> <author>Mika Fischer <mika.fischer@…></author> <pubDate>Tue, 28 Apr 2015 08:15:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11219#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11219#comment:4</guid> <description> <p> 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... </p> </description> <category>Ticket</category> </item> </channel> </rss>