Boost logo

Boost-Build :

Subject: Re: [Boost-build] Clearing all of b2 cached values
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-11-15 12:39:25


On 11/15/2016 8:42 AM, Paul A. Bristow wrote:
> 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
> VisualStudio14.0\VC\INCLUDE\crtdefs.h(10): fatal error C1083: Cannotopen
> include file: 'corecrt.h': Nosuch file or directory
>
>
>
> But the missing file(s) had been installed.
>
>
>
> Eventually, after some loss of hair and nearing monitorial
> defenestration

ROFL

>, 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 usingmsvc
>
> ...found 1target...
>
> ...updating 1target...
>
> msvc.write-setup-script
> C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd
>
> ...updated 1target...
>
> ...found 1target...
>
> ...updating 1target...
>
> msvc.write-setup-script
> C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_amd64.cmd
>
> ...updated 1target...
>
> ...found 1target...
>
> ...updating 1target...
>
> msvc.write-setup-script
> C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86_arm.cmd
>
> ...updated 1target...
>
>
>
> 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?

+1

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