Opened 11 years ago

Closed 10 years ago

#6639 closed Bugs (invalid)

b2 --clean-all fails under Visual Studio 2008 and 2012

Reported by: Florian George <fgeorge@…> Owned by:
Milestone: To Be Determined Component: Building Boost
Version: Boost 1.51.0 Severity: Problem
Keywords: Cc:

Description

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.

Output under VS2008 (b2 --toolset=msvc-9.0 -j%NUMBER_OF_PROCESSORS%):

...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>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>

Output under VS2010 (b2 --toolset=msvc-10.0 -j%NUMBER_OF_PROCESSORS%):

...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>

Output under Visual Studio 2010:

...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>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>

Output under VS11 (b2 --toolset=msvc-11.0 -j%NUMBER_OF_PROCESSORS%):

...skipped <pbin.v2\libs\wave\build\msvc-11.0\release\link-static\threading-multi>libboost_wave-vc110-mt-1_49.lib for lack of <pbin.v2\libs\wave\build\msvc-11.0\release\link-static\threading-multi>instantiate_cpp_grammar.obj...
...skipped <pstage\lib>libboost_wave-vc110-mt-1_49.lib for lack of <pbin.v2\libs\wave\build\msvc-11.0\release\link-static\threading-multi>libboost_wave-vc110-mt-1_49.lib...
...failed updating 4 targets...
...skipped 4 targets...
...updated 852 targets...

C:\temp\boost_1_49_0_vs2011>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>

(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)

Change History (9)

comment:1 by Florian George <fgeorge@…>, 10 years ago

This issue is still present in Boost 1.50.0

Tested under Visual Studio 2008 SP1

Output:

C:\temp\boost_1_50_0>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>

After cleanup, the boost_1_50_0/bin.v2 directory is still full of temporary files.

comment:2 by Florian George <fgeorge@…>, 10 years ago

Version: Boost 1.49.0Boost 1.50.0

comment:3 by Florian George <fgeorge@…>, 10 years ago

Summary: b2 --clean-all fails under Visual Studio 2008 and 2011b2 --clean-all fails under Visual Studio 2008 and 2012
Version: Boost 1.50.0Boost 1.51.0

Issue is still persistent under

  • Windows 7 SP1 x64
  • Visual Studio 2012
  • Boost 1.51.0
C:\temp\boost_1_49_0>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>

After that, the size of the bin.v2 directory is still 1.03GB, 1373 Files.

comment:4 by Steven Watanabe, 10 years ago

I can't reproduce this with the trunk.

comment:5 by Steven Watanabe, 10 years ago

Cannot reproduce with the release branch either.

comment:6 by Florian George <fgeorge@…>, 10 years ago

Tried again with Boost 1.52.0

  • ran Visual Studio 2008 Command Line
  • ran bootstrap.bat
  • ran b2 --toolset=msvc-9.0 -j%NUMBER_OF_PROCESSORS%
  • moved boost_1_52_0\stage\lib to boost _1_52_0\lib
  • checked bin.v2 Directory: 1269 Files, 934.815.541 Bytes
  • ran b2 --clean-all:
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...
  • checked bin.v2 Directory: 1281 Files, 934.891.007 Bytes

So it was even bigger after the clean attempt.


  • ran VS2012 x86 Native Tools Command Prompt
  • ran bootstrap.bat
  • ran b2 --toolset=msvc-11.0 -j%NUMBER_OF_PROCESSORS%
  • moved boost_1_52_0\stage\lib to boost _1_52_0\lib
  • checked bin.v2 Directory: 1269 Files, 1.084.741.614 Bytes
  • ran b2 --clean-all:
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...
  • checked bin.v2 Directory: 1281 Files, 1.084.817.258 Bytes

Same result for 11.0 environment.

comment:7 by Steven Watanabe, 10 years ago

You're not using --clean-all correctly.

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.

comment:8 by Florian George <fgeorge@…>, 10 years ago

You are right, apologies. I assumed --clean-all would indeed clean all build variants, or at least the last one built.

With

b2 --clean-all --toolset=msvc-9.0

only a few .log .rsp .cpp files remain in bin.v2.

Can be closed, thanks!

comment:9 by viboes, 10 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.