Boost C++ Libraries: Ticket #6639: b2 --clean-all fails under Visual Studio 2008 and 2012 https://svn.boost.org/trac10/ticket/6639 <p> When compiling Boost with Visual Studio 2008 and Visual Studio 2011, the "b2 --clean-all" command doesn't clean up the bin.v2 Directoy. Under Visual Studio 2010 it works. </p> <p> Output under VS2008 (b2 --toolset=msvc-9.0 -j%NUMBER_OF_PROCESSORS%): </p> <pre class="wiki">...updated 860 targets... The Boost C++ Libraries were successfully built! The following directory should be added to compiler include paths: C:/temp/boost_1_49_0_vs2008 The following directory should be added to linker library paths: C:\temp\boost_1_49_0_vs2008\stage\lib C:\temp\boost_1_49_0_vs2008&gt;b2 --clean-all Building the Boost C++ Libraries. Performing configuration checks - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - ../config//has_gcc_visibility builds : no - ../config//has_long_double_support builds : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. warning: No python installation configured and autoconfiguration note: failed. See http://www.boost.org/libs/python/doc/building.html note: for configuration instructions or pass --without-python to note: suppress this message and silently skip all Boost.Python targets ...found 1 target... ...updating 1 target... ...updated 1 target... C:\temp\boost_1_49_0_vs2008&gt; </pre><p> Output under VS2010 (b2 --toolset=msvc-10.0 -j%NUMBER_OF_PROCESSORS%): </p> <pre class="wiki">...found 1 target... ...updating 1 target... common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all ...updated 1 target... C:\temp\boost_1_49_0_vs2010&gt; </pre><p> Output under Visual Studio 2010: </p> <pre class="wiki">...updated 860 targets... The Boost C++ Libraries were successfully built! The following directory should be added to compiler include paths: C:/temp/boost_1_49_0_vs2010 The following directory should be added to linker library paths: C:\temp\boost_1_49_0_vs2010\stage\lib C:\temp\boost_1_49_0_vs2010&gt;b2 --clean-all Building the Boost C++ Libraries. Performing configuration checks - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - ../config//has_gcc_visibility builds : no - ../config//has_long_double_support builds : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. warning: No python installation configured and autoconfiguration note: failed. See http://www.boost.org/libs/python/doc/building.html note: for configuration instructions or pass --without-python to note: suppress this message and silently skip all Boost.Python targets ...found 1 target... ...updating 1 target... common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all common.Clean clean-all ...updated 1 target... C:\temp\boost_1_49_0_vs2010&gt; </pre><p> Output under VS11 (b2 --toolset=msvc-11.0 -j%NUMBER_OF_PROCESSORS%): </p> <pre class="wiki">...skipped &lt;pbin.v2\libs\wave\build\msvc-11.0\release\link-static\threading-multi&gt;libboost_wave-vc110-mt-1_49.lib for lack of &lt;pbin.v2\libs\wave\build\msvc-11.0\release\link-static\threading-multi&gt;instantiate_cpp_grammar.obj... ...skipped &lt;pstage\lib&gt;libboost_wave-vc110-mt-1_49.lib for lack of &lt;pbin.v2\libs\wave\build\msvc-11.0\release\link-static\threading-multi&gt;libboost_wave-vc110-mt-1_49.lib... ...failed updating 4 targets... ...skipped 4 targets... ...updated 852 targets... C:\temp\boost_1_49_0_vs2011&gt;b2 --clean-all Building the Boost C++ Libraries. Performing configuration checks - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - ../config//has_gcc_visibility builds : no - ../config//has_long_double_support builds : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. warning: No python installation configured and autoconfiguration note: failed. See http://www.boost.org/libs/python/doc/building.html note: for configuration instructions or pass --without-python to note: suppress this message and silently skip all Boost.Python targets ...found 1 target... ...updating 1 target... ...updated 1 target... C:\temp\boost_1_49_0_vs2011&gt; </pre><p> (The fact that libboost_wave doesn't get built successfully doesn't have anything to do with the failed cleanup afaik as it fails the same way in VS2008 which builds everything successfully) </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6639 Trac 1.4.3 Florian George <fgeorge@…> Wed, 04 Jul 2012 20:55:27 GMT <link>https://svn.boost.org/trac10/ticket/6639#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6639#comment:1</guid> <description> <p> This issue is still present in Boost 1.50.0 </p> <p> Tested under Visual Studio 2008 SP1 </p> <p> Output: </p> <pre class="wiki">C:\temp\boost_1_50_0&gt;b2 --clean-all Building the Boost C++ Libraries. Performing configuration checks - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - gcc visibility : no - long double support : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. ...found 1 target... ...updating 1 target... ...updated 1 target... C:\temp\boost_1_50_0&gt; </pre><p> After cleanup, the boost_1_50_0/bin.v2 directory is still full of temporary files. </p> </description> <category>Ticket</category> </item> <item> <author>Florian George <fgeorge@…></author> <pubDate>Wed, 04 Jul 2012 20:55:51 GMT</pubDate> <title>version changed https://svn.boost.org/trac10/ticket/6639#comment:2 https://svn.boost.org/trac10/ticket/6639#comment:2 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost 1.49.0</span> → <span class="trac-field-new">Boost 1.50.0</span> </li> </ul> Ticket Florian George <fgeorge@…> Wed, 29 Aug 2012 21:13:33 GMT version, summary changed https://svn.boost.org/trac10/ticket/6639#comment:3 https://svn.boost.org/trac10/ticket/6639#comment:3 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost 1.50.0</span> → <span class="trac-field-new">Boost 1.51.0</span> </li> <li><strong>summary</strong> <span class="trac-field-old">b2 --clean-all fails under Visual Studio 2008 and 2011</span> → <span class="trac-field-new">b2 --clean-all fails under Visual Studio 2008 and 2012</span> </li> </ul> <p> Issue is still persistent under </p> <ul><li>Windows 7 SP1 x64 </li><li>Visual Studio 2012 </li><li>Boost 1.51.0 </li></ul><pre class="wiki">C:\temp\boost_1_49_0&gt;b2 --clean-all Building the Boost C++ Libraries. Performing configuration checks - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - ../config//has_gcc_visibility builds : no - ../config//has_long_double_support builds : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. ...found 1 target... ...updating 1 target... ...updated 1 target... C:\temp\boost_1_49_0&gt; </pre><p> After that, the size of the bin.v2 directory is still 1.03GB, 1373 Files. </p> Ticket Steven Watanabe Fri, 23 Nov 2012 19:44:10 GMT <link>https://svn.boost.org/trac10/ticket/6639#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6639#comment:4</guid> <description> <p> I can't reproduce this with the trunk. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Fri, 23 Nov 2012 20:08:02 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6639#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6639#comment:5</guid> <description> <p> Cannot reproduce with the release branch either. </p> </description> <category>Ticket</category> </item> <item> <author>Florian George <fgeorge@…></author> <pubDate>Sun, 25 Nov 2012 19:26:13 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6639#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6639#comment:6</guid> <description> <p> Tried again with Boost 1.52.0 </p> <ul><li>ran Visual Studio 2008 Command Line </li><li>ran bootstrap.bat </li><li>ran b2 --toolset=msvc-9.0 -j%NUMBER_OF_PROCESSORS% </li><li>moved boost_1_52_0\stage\lib to boost _1_52_0\lib </li></ul><ul><li>checked bin.v2 Directory: <strong>1269 Files, 934.815.541 Bytes</strong> </li></ul><ul><li>ran b2 --clean-all: </li></ul><pre class="wiki">Building the Boost C++ Libraries. Performing configuration checks - 32-bit : yes - x86 : yes - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - gcc visibility : no - long double support : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. warning: No python installation configured and autoconfiguration note: failed. See http://www.boost.org/libs/python/doc/building.html note: for configuration instructions or pass --without-python to note: suppress this message and silently skip all Boost.Python targets ...found 1 target... ...updating 1 target... ...updated 1 target... </pre><ul><li>checked bin.v2 Directory: <strong>1281 Files, 934.891.007 Bytes</strong> </li></ul><p> So it was even bigger after the clean attempt. </p> <hr /> <ul><li>ran VS2012 x86 Native Tools Command Prompt </li><li>ran bootstrap.bat </li><li>ran b2 --toolset=msvc-11.0 -j%NUMBER_OF_PROCESSORS% </li><li>moved boost_1_52_0\stage\lib to boost _1_52_0\lib </li></ul><ul><li>checked bin.v2 Directory: <strong>1269 Files, 1.084.741.614 Bytes</strong> </li></ul><ul><li>ran b2 --clean-all: </li></ul><pre class="wiki">Building the Boost C++ Libraries. Performing configuration checks - 32-bit : yes - x86 : yes - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - gcc visibility : no - long double support : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. warning: No python installation configured and autoconfiguration note: failed. See http://www.boost.org/libs/python/doc/building.html note: for configuration instructions or pass --without-python to note: suppress this message and silently skip all Boost.Python targets ...found 1 target... ...updating 1 target... ...updated 1 target... </pre><ul><li>checked bin.v2 Directory: <strong>1281 Files, 1.084.817.258 Bytes</strong> </li></ul><p> Same result for 11.0 environment. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Wed, 28 Nov 2012 03:25:18 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6639#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6639#comment:7</guid> <description> <p> You're not using --clean-all correctly. </p> <p> The difference between clean and clean-all is that clean only deletes the top level targets to be built, while clean-all also cleans dependencies. --clean-all does /not/ clean all build variants. You need to specify the toolset for it to work. </p> </description> <category>Ticket</category> </item> <item> <author>Florian George <fgeorge@…></author> <pubDate>Wed, 28 Nov 2012 16:43:34 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6639#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6639#comment:8</guid> <description> <p> You are right, apologies. I assumed --clean-all would indeed clean all build variants, or at least the last one built. </p> <p> With </p> <pre class="wiki">b2 --clean-all --toolset=msvc-9.0 </pre><p> only a few .log .rsp .cpp files remain in bin.v2. </p> <p> Can be closed, thanks! </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Thu, 03 Jan 2013 18:09:17 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/6639#comment:9 https://svn.boost.org/trac10/ticket/6639#comment:9 <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">invalid</span> </li> </ul> Ticket