Boost logo

Boost-Build :

Subject: [Boost-build] Clearing all of b2 cached values
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2016-11-15 08:42:41


I have recently been cruelly confused by my changes to Visual Studio
installed components not being reflected in b2 builds.

 

This was reported

 

C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\INCLUDE\crtdefs.h(10): fatal error C1083: Cannot open include file:
'corecrt.h': No such file or directory

 

But the missing file(s) had been installed.

 

Eventually, after some loss of hair and nearing monitorial defenestration, I
realised that to

get a completely clean build after changing the compiler features installed,
usually from an update,

 

using -a -clean -reconfigure do not suffice.

 

One must also remove the several cached versions of vcvarsall.bat at

 

  C:\Users\The_User\AppData\Local\Temp

 

 This might catch out users of the VS2015 update 3 and very likely update 5
when the location of many system files is slated to be changed, and thus the
macros defined by vcvarsall.bat).

 

The 'cached' batch files are names like this:

b2_msvc_14.0_vcvarsall_amd64.cmd
...
 

Proof of generating a clean copy of these files look something like this:

I:\modular-boost\libs\hello_boost\example>b2 -a toolset=msvc-14.0
CRT_IncludePath_x64 = C:\Program Files (x86)\Windows
Kits\10\Include\10.0.10240.0\ucrt using msvc
...found 1 target...
...updating 1 target...
msvc.write-setup-script
C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd
...updated 1 target...
...found 1 target...
...updating 1 target...
msvc.write-setup-script
C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_amd64.cmd
...updated 1 target...
...found 1 target...
...updating 1 target...
msvc.write-setup-script
C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86_arm.cmd
...updated 1 target...
 

If you do not have a clean copy, the 'cached' version of vsvarsall.bat will
be used, with undesirable results.

 

I'm not sure that this is a desirable 'feature'. Should either -reconfigure
and/or -clean delete these *.cmd files?

 

Paul

 

 

Paul A. Bristow

 

 

 



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk