|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2004-09-04 09:38:10
"Bertolt Mildner" <Bertolt.Mildner_at_[hidden]> writes:
> When started form a Windows Commandline (cmd.exe) bjam tries to create
> existing directories and of curse failes to do so!
>
> For example when building boost::thread:
>
> ------------------------------------
> ...found 205 targets...
> ...updating 20 targets...
> MkDir1
> ..\..\..\bin\boost\libs\thread\build\boost_thread.dll\cw\\threading-multi
>
> Ein Unterverzeichnis oder eine Datei mit dem Namen
> "..\..\..\bin\boost\libs\thre
> ad\build\boost_thread.dll\cw\\threading-multi" existiert bereits.
>
> mkdir
> "..\..\..\bin\boost\libs\thread\build\boost_thread.dll\cw\\threading-
> multi"
>
> ...failed MkDir1
> ..\..\..\bin\boost\libs\thread\build\boost_thread.dll\cw\\threa
> ding-multi...
> ------------------------------------
>
> (the german error-msg means "directory or file "..." allready exists")
>
> As this causes targets to be skipped this is getting pretty annoying ...
>
> As far as i understand the root of the problem is that the nativ "mkdir" on
> Win32 does not take any options to be quiet if the directory exists ("-p"
> on Unix).
No, that's not the problem. That rule normally does not run if the
directory already exists. Did you perchance build your bjam from
cygwin? A cygwin-built bjam only works under a Cygwin shell.
> It looks like allyourbase.jam tries to address this in the MkDir rule, but
> fails to.
The directory is a target. If the build system sees that it already
exists, it won't try to create it. I can't imagine why this would
fail for you unless you were using a mis-constructed bjam.
> Bertolt
>
> PS: I have tried to post this in gmane.comp.lib.boost.build but i always
> got mail that i should join <jamboost_at_[hidden]>!
Why does that surprise you? That is the mailing list behind that NG.
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk