Boost logo

Boost-Build :

Subject: Re: [Boost-build] Latest bootstrap.bat is broken
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-02-12 17:23:57


On 2/12/2011 4:51 PM, Steven Watanabe wrote:
> AMDG
>
> On 2/12/2011 1:39 PM, Edward Diener wrote:
>> The latest bootstrap.bat in the trunk is broken. While it rebuilds bjam
>> correctly it is checking the wrong directories from the current
>> directory to report whether it has been successful or not. So it never
>> finds bjam.exe off of the 'engine' sub-directory, although it is there,
>> and reports failure. Needless to say it also does not copy bjam.exe to
>> its correct location either.
>>
>
> I just tested it at trunk rev. 68817, and it
> seemed to work fine. Are both bootstrap.bat
> and tools/build/v2 up to date? What directory
> is bjam built in, and where does bootstrap.bat
> look?

Bjam.exe is built in 'boost\tools\build\v2\engine\bin.ntx86'

Boostrap.bat is:

"@ECHO OFF

REM Copyright (C) 2009 Vladimir Prus
REM
REM Distributed under the Boost Software License, Version 1.0.
REM (See accompanying file LICENSE_1_0.txt or
http://www.boost.org/LICENSE_1_0.txt)

ECHO Bootstrapping the build engine
if exist ".\engine\bin.ntx86\bjam.exe" del engine\bin.ntx86\bjam.exe
if exist ".\engine\bin.ntx86_64\bjam.exe" del engine\bin.ntx86_64\bjam.exe
cd engine

call .\build.bat %* > ..\..\bootstrap.log
@ECHO OFF
cd ..\..

if exist ".\engine\bin.ntx86\bjam.exe" (
    copy .\engine\bin.ntx86\bjam.exe . > nul
    goto :bjam_built)

if exist ".\engine\bin.ntx86_64\bjam.exe" (
    copy .\engine\bin.ntx86_64\bjam.exe . > nul
    goto :bjam_built)

goto :bjam_failure

:bjam_built

ECHO.
ECHO Bootstrapping is done. To build, run:
ECHO.
ECHO .\bjam --prefix=DIR install
ECHO.

goto :end

:bjam_failure

ECHO.
ECHO Failed to bootstrap the build engine
ECHO Please consult bootstrap.log for furter diagnostics.
ECHO.

goto :end

:end"

I am always going to :bjam_failure when I execute ".\bootstrap.bat".
Unless .\build.bat is changing to some other directory, it sure looks
like the "cd"s is putting the batch file in two directories above
'engine' and then is checking the 'if exist' as if 'engine' is directly
below the current directory. That can't be right.


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