Boost logo

Boost-Build :

Subject: Re: [Boost-build] Bootstrap.bat fails Win7 vc11 boost 1.55
From: John Reeder (jreeder_at_[hidden])
Date: 2014-03-04 21:08:56


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_at_[hidden]> 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_at_[hidden]> 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
>>
>
>



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