Boost C++ Libraries: Ticket #5773: boost.smart_ptr clashes with PAM https://svn.boost.org/trac10/ticket/5773 <pre class="wiki">The following test case (reduced from drizzle [1]) compiles fine with with boost-1.46.1 and failes with boost-1.47.0. $ cat test.cpp #include &lt;security/pam_misc.h&gt; #include &lt;boost/shared_ptr.hpp&gt; int main() {} $ g++ test.cpp In file included from /usr/include/boost/smart_ptr/shared_ptr.hpp:32, from /usr/include/boost/shared_ptr.hpp:17, from test.cpp:2: /usr/include/boost/smart_ptr/detail/shared_count.hpp: In constructor 'boost::detail::shared_count::shared_count(P, boost::detail::sp_inplace_tag&lt;D&gt;)': /usr/include/boost/smart_ptr/detail/shared_count.hpp:164: error: expected ';' before '(' token /usr/include/boost/smart_ptr/detail/shared_count.hpp: In constructor 'boost::detail::shared_count::shared_count(P, boost::detail::sp_inplace_tag&lt;D&gt;, A)': /usr/include/boost/smart_ptr/detail/shared_count.hpp:250: error: expected ';' before '(' token security/pam_misc.h belongs to PAM [2] [1] http://www.drizzle.org/ [2] http://www.kernel.org/pub/linux/libs/pam/ </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5773 Trac 1.4.3 SebastianLuther@… Sun, 14 Aug 2011 19:22:36 GMT <link>https://svn.boost.org/trac10/ticket/5773#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5773#comment:1</guid> <description> <p> It actually collides with a macro #define D(x) defined in security/_pam_macros.h. </p> </description> <category>Ticket</category> </item> <item> <author>Olaf van der Spek <olafvdspek@…></author> <pubDate>Fri, 30 Sep 2011 10:31:14 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5773#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5773#comment:2</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/5773#comment:1" title="Comment 1">SebastianLuther@…</a>: </p> <blockquote class="citation"> <p> It actually collides with a macro #define D(x) defined in security/_pam_macros.h. </p> </blockquote> <p> Looks like a bug in PAM. It should not define macros with such common and simple names. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Wed, 11 Dec 2013 17:16:34 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/5773#comment:3 https://svn.boost.org/trac10/ticket/5773#comment:3 <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> Ticket