Boost logo

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

Boost list run by bdawes at, gregod at, cpdaniel at, john at