Boost C++ Libraries: Ticket #13627: "bcp --namespace=..." misses change in macro for "unordered". https://svn.boost.org/trac10/ticket/13627 <p> Boost version: 1.67.0 </p> <p> Steps to reproduce given below error message. </p> <p> Hello, </p> <p> I'm using bcp to put all of boost under a new namespace. bcp completes ok, but compilation of the new tree gives the following error (repeats several times - first instance shown): </p> <pre class="wiki">gcc.compile.c++ build/boost/bin.v2/libs/graph/build/gcc-4.8.5/release/threading-multi/read_graphviz_new.o In file included from ./boost/unordered/detail/set.hpp:6:0, from ./boost/unordered/unordered_set.hpp:20, from ./boost/unordered_set.hpp:17, from ./boost/graph/adjacency_list.hpp:21, from ./boost/graph/graphviz.hpp:24, from libs/graph/src/read_graphviz_new.cpp:50: ./boost/unordered/detail/implementation.hpp:1606:52: error: ‘boost’ has not been declared BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, boost) ^ ./boost/unordered/detail/implementation.hpp:1583:5: note: in definition of macro ‘BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE’ namespace_::tuple&lt;BOOST_PP_ENUM_PARAMS_Z(z, n, A)&gt; const&amp; x) \ ^ ./boost/unordered/detail/implementation.hpp:1583:56: error: expected unqualified-id before ‘const’ namespace_::tuple&lt;BOOST_PP_ENUM_PARAMS_Z(z, n, A)&gt; const&amp; x) \ ^ ./boost/unordered/detail/implementation.hpp:1606:9: note: in expansion of macro ‘BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE’ BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, boost) ^ ./boost/unordered/detail/implementation.hpp:1583:56: error: expected ‘)’ before ‘const’ namespace_::tuple&lt;BOOST_PP_ENUM_PARAMS_Z(z, n, A)&gt; const&amp; x) \ ^ ./boost/unordered/detail/implementation.hpp:1606:9: note: in expansion of macro ‘BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE’ BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, boost) ^ ./boost/unordered/detail/implementation.hpp:1583:63: error: expected initializer before ‘x’ namespace_::tuple&lt;BOOST_PP_ENUM_PARAMS_Z(z, n, A)&gt; const&amp; x) \ ^ ./boost/unordered/detail/implementation.hpp:1606:9: note: in expansion of macro ‘BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE’ BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, boost) ^ </pre><p> Steps to reproduce: </p> <pre class="wiki">unzip boost_1_67_0.zip &gt;/dev/null cd boost_1_67_0/ ./bootstrap.sh --without-libraries=python ./b2 tools/bcp mkdir -p ddt ./dist/bin/bcp --namespace=ddtboost bin.v2 boost libs more status tools ddt cd ddt ./bootstrap.sh --without-libraries=python ./b2 -j4 --build-dir=build --without-python --layout=tagged variant=release link=shared threading=multi runtime-link=shared </pre><p> Changing the third parameter from <code>boost</code> to <code>ddtboost</code> in the calls to <code>BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE()</code> starting at lines 1606 and 1695 fixed the issue (given my --namespace). </p> <p> I've attempted to attach a patch file showing the differences, but chances are outstanding I screwed it up. </p> <p> If I can provide any more info, please let me know. </p> <p> Thanks Lou </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13627 Trac 1.4.3 Lou Barbieri <louis.barbieri@…> Thu, 05 Jul 2018 17:44:53 GMT <link>https://svn.boost.org/trac10/ticket/13627#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/13627#comment:1</guid> <description> <p> Trac thought my patch was spam, so here it is the hard way: </p> <p> Changes from original to fixed "boost/unordered/detail/implementation.hpp": </p> <pre class="wiki">1606,1615c1606,1615 &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 2, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 3, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 4, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 5, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 6, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 7, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 8, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 9, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 10, boost) --- &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 2, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 3, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 4, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 5, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 6, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 7, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 8, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 9, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 10, ddtboost) 1695,1704c1695,1704 &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 2, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 3, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 4, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 5, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 6, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 7, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 8, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 9, boost) &lt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 10, boost) --- &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 1, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 2, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 3, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 4, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 5, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 6, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 7, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 8, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 9, ddtboost) &gt; BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(1, 10, ddtboost) </pre> </description> <category>Ticket</category> </item> <item> <author>Lou Barbieri <louis.barbieri@…></author> <pubDate>Fri, 06 Jul 2018 10:04:50 GMT</pubDate> <title>version changed https://svn.boost.org/trac10/ticket/13627#comment:2 https://svn.boost.org/trac10/ticket/13627#comment:2 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost 1.63.0</span> → <span class="trac-field-new">Boost 1.67.0</span> </li> </ul> Ticket