Boost C++ Libraries: Ticket #7336: BOOST_THREAD_DONT_USE_SYSTEM doesn't work. https://svn.boost.org/trac10/ticket/7336 <p> Boost.Thread documentation says: </p> <blockquote> <p> Boost.Thread uses by default Boost.System to define the exceptions. For backward compatibility and also for compilers that don't work well with Boost.System the user can define BOOST_THREAD_DONT_USE_SYSTEM . </p> </blockquote> <p> But on my platform (ALT Linux x86_64, boost 1.51.0) I get the following include files chain: </p> <pre class="wiki"> boost/thread/mutex.hpp -&gt; boost/thread/pthread/mutex.hpp -&gt; boost/thread/exceptions.hpp -&gt; boost/system/system_error.hpp, boost/system/error_code.hpp </pre><p> So I have to link with Boost.System, and it doesn't depend on how Boost.Thread was configured and build. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7336 Trac 1.4.3 viboes Sat, 08 Sep 2012 16:02:28 GMT owner, status, milestone changed https://svn.boost.org/trac10/ticket/7336#comment:1 https://svn.boost.org/trac10/ticket/7336#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Anthony Williams</span> to <span class="trac-author">viboes</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.52.0</span> → <span class="trac-field-new">To Be Determined</span> </li> </ul> <p> I'm sorry. I think that I wrote this documentation with the expectation that I would be nice to provide it and I didn't it at all. </p> <p> I have take a look at the dependency and it will be quite complex to remove it for the next release. If I don't reach to remove the dependency for 1.52 I will remove this macro and state clearly that the dependency is needed. </p> <p> There is an alternative that is to define the Boost.System undocumented BOOST_ERROR_CODE_HEADER_ONLY macro, but this is yet bugged (See <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7347" title="#7347: Bugs: duplicate symbol while BOOST_ERROR_CODE_HEADER_ONLY is defined (closed: fixed)">#7347</a> duplicate symbol while BOOST_ERROR_CODE_HEADER_ONLY is defined). </p> Ticket viboes Sat, 08 Sep 2012 16:03:34 GMT <link>https://svn.boost.org/trac10/ticket/7336#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7336#comment:2</guid> <description> <p> BTW, do you want to remove the dependency on Boost.System or the need to link with? </p> </description> <category>Ticket</category> </item> <item> <author>Ivan A. Melnikov <iv@…></author> <pubDate>Sat, 08 Sep 2012 17:50:31 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7336#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7336#comment:3</guid> <description> <p> Thank you for your answer and your work on this issue. </p> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/7336#comment:2" title="Comment 2">viboes</a>: </p> <blockquote class="citation"> <p> BTW, do you want to remove the dependency on Boost.System or the need to link with? </p> </blockquote> <p> To me, a clear statement that I have to link with Boost.System (or do whatever that library requires) to work with Boost.Thread is enough. </p> <p> Also, BOOST_THREAD_DONT_USE_SYSTEM, if implemented, would be a switch that changes whole library ABI (exception types), which is scaring a bit. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Sat, 08 Sep 2012 20:56:59 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7336#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7336#comment:4</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/7336#comment:3" title="Comment 3">Ivan A. Melnikov &lt;iv@…&gt;</a>: </p> <blockquote class="citation"> <p> Thank you for your answer and your work on this issue. </p> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/7336#comment:2" title="Comment 2">viboes</a>: </p> <blockquote class="citation"> <p> BTW, do you want to remove the dependency on Boost.System or the need to link with? </p> </blockquote> <p> To me, a clear statement that I have to link with Boost.System (or do whatever that library requires) to work with Boost.Thread is enough. </p> </blockquote> <p> Great. I will fix the documentation. </p> <blockquote class="citation"> <p> Also, BOOST_THREAD_DONT_USE_SYSTEM, if implemented, would be a switch that changes whole library ABI (exception types), which is scaring a bit. </p> </blockquote> <p> Yes, now that Boost.Thread uses Boost.Chrono and the interface for the exceptions and the error codes in futures follows the C++11 standard, disabling all this stuff will represent quite a lot of work without no clear gain. </p> <p> In addition, removing the dependency to Boost.System implies removing the dependency to Boost.Chrono. </p> <p> I hope that <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7347" title="#7347: Bugs: duplicate symbol while BOOST_ERROR_CODE_HEADER_ONLY is defined (closed: fixed)">#7347</a> will be fixed soon so that the link to Boost.System and Boost.Chrono could be optional. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Sat, 08 Sep 2012 21:00:36 GMT</pubDate> <title>milestone changed https://svn.boost.org/trac10/ticket/7336#comment:5 https://svn.boost.org/trac10/ticket/7336#comment:5 <ul> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.52.0</span> </li> </ul> Ticket viboes Sun, 09 Sep 2012 11:08:52 GMT attachment set https://svn.boost.org/trac10/ticket/7336 https://svn.boost.org/trac10/ticket/7336 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">7336.patch</span> </li> </ul> <p> Documentation fix </p> Ticket viboes Sun, 09 Sep 2012 12:36:32 GMT <link>https://svn.boost.org/trac10/ticket/7336#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7336#comment:6</guid> <description> <p> Committed in trunk revision <a class="changeset" href="https://svn.boost.org/trac10/changeset/80459" title="Thread: Remove BOOST_THREAD_DONT_USE_SYSTEM and update documentation ...">[80459]</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Thu, 13 Sep 2012 19:12:20 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/7336#comment:7 https://svn.boost.org/trac10/ticket/7336#comment:7 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Committed revision 80516. </p> Ticket