I figured out the issue. 

For some reason I had user level environmental variables for TMP and TEMP, both pointing to a folder in my appdata folder. 

This caused a problem because the jam0 command builds tempory bat files and executes them by calling cmd.exe. 

The TMP folders had a space in the paths and they weren't passed to cmd.exe with quotes or escaped so that caused the not recognized command errors I was seeing. 

I deleted the User level TMP, and TEMP variables and the bootstrap command completed successfully. 

TL,DR - Your temp folders can't have spaces in the path. 


On Fri, Feb 28, 2014 at 11:16 AM, John Reeder <jreeder@gmail.com> wrote:
Nevermind I didn't notice the -n option when I copied it. 

If I create the folder bin.ntx86 myself and try to run the jam0 command it fails on the compile command with the same issue. 

[COMPILE] bin.ntx86\b2.exe
'C:\Users\My' is not recognized as an internal or external command,
operable program or batch file.

    "cl"  "/Fdbin.ntx86/" "/Fobin.ntx86/" /Febin.ntx86\b2.exe "-DNDEBUG" "-DOPT_
HEADER_CACHE_EXT" "-DOPT_GRAPH_DEBUG_EXT" "-DOPT_SEMAPHORE" "-DOPT_AT_FILES" "-D
OPT_DEBUG_PROFILE" "-DOPT_FIX_TARGET_VARIABLES_EXT" "-DOPT_IMPROVED_PATIENCE_EXT
" "-DNT" "-DYYSTACKSIZE=5000" "/nologo" "/GL" "/MT" "/O2" "/Ob2" "/Gy" "/GF" "/G
A" "/wd4996" "command.c" "compile.c" "constants.c" "debug.c" "execcmd.c" "frames
.c" "function.c" "glob.c" "hash.c" "hcache.c" "headers.c" "hdrmacro.c" "jam.c" "
jambase.c" "jamgram.c" "lists.c" "make.c" "make1.c" "mem.c" "object.c" "option.c
" "output.c" "parse.c" "pathsys.c" "regexp.c" "rules.c" "scan.c" "search.c" "sub
st.c" "w32_getreg.c" "timestamp.c" "variable.c" "modules.c" "strings.c" "filesys
.c" "builtins.c" "class.c" "cwd.c" "native.c" "md5.c" "modules\set.c" "modules\p
ath.c" "modules\regex.c" "modules\property-set.c" "modules\sequence.c" "modules\
order.c" "execnt.c" "filent.c" "pathnt.c" "kernel32.lib" "advapi32.lib" "user32.
lib"

...failed [COMPILE] bin.ntx86\b2.exe...
...skipped bjam.exe for lack of b2.exe...
...failed updating 1 target...
...skipped 1 target...

If I run the commands myself on the command line they work fine. If the build script tries to run them I get the error that seems to involve spaces in my user directory. 

The machine is about to be reimaged anyway, so it's probably not worthwhile to keep banging my head against it. I would like to have figured it out though. If it persists after the re-imaging I'll post again. 

John

On Fri, Feb 28, 2014 at 10:39 AM, John Reeder <jreeder@gmail.com> wrote:

> Looks like it could be an issue with spaces in the path. Have you tried
somewhere without spaces?
Yes I tried copying the folder to the drive root then running bootstrap again same issue.  
 
 

It's strange since the above command does not have anything with spaces. Joshua, could you go to


        C:\Users\My Name\Code\boost_1_55_0\tools\build\v2\engine

and run

        .\bootstrap\jam0 -f build.jam --toolset=vc11 -n

        "--toolset-root=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\..\VC\ "

there and send the output?

- Volodya

When I ran the jam0 executable directly it finishes without issue. 

 ...found 159 targets...
...updating 3 targets...
[MKDIR] bin.ntx86

    md "bin.ntx86"

[COMPILE] bin.ntx86\b2.exe

    "cl"  "/Fdbin.ntx86/" "/Fobin.ntx86/" /Febin.ntx86\b2.exe "-DNDEBUG" "-DOPT_HEADER_CACHE_EXT" "-DOPT_GRAPH_DEBUG_EXT" "-DOPT_SEMAPHORE" "-DOPT_AT_FILES" "-DOPT_DEBUG_PROFILE" "-DOPT_FIX_TARGET_VARIABLES_EXT" "-DOPT_IMPROVED_PATIENCE_EXT" "-DNT" "-DYYSTACKSIZE=5000" "/nologo" "/GL" "/MT" "/O2" "/Ob2" "/Gy" "/GF" "/GA" "/wd4996" "command.c" "compile.c" "constants.c" "debug.c" "execcmd.c" "frames.c" "function.c" "glob.c" "hash.c" "hcache.c" "headers.c" "hdrmacro.c" "jam.c" "jambase.c" "jamgram.c" "lists.c" "make.c" "make1.c" "mem.c" "object.c" "option.c" "output.c" "parse.c" "pathsys.c" "regexp.c" "rules.c" "scan.c" "search.c" "subst.c" "w32_getreg.c" "timestamp.c" "variable.c" "modules.c" "strings.c" "filesys.c" "builtins.c" "class.c" "cwd.c" "native.c" "md5.c" "modules\set.c" "modules\path.c" "modules\regex.c" "modules\property-set.c" "modules\sequence.c" "modules\order.c" "execnt.c" "filent.c" "pathnt.c" "kernel32.lib" "advapi32.lib" "user32.lib"

[COPY] bin.ntx86\bjam.exe

        copy /Y "bin.ntx86\b2.exe" "bin.ntx86\bjam.exe" >NUL:

...updated 3 targets...

It seems that will give me the build commands, though it doesn't help me with why the bootstrap process failed. I'll take the minor victory. 

John