Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-05-15 09:24:20

----- Original Message -----
From: "Markus Schöpflin" <markus.schoepflin_at_[hidden]>
> >
> > The same error?
> Yes, but one or two directories further down.
> > Or are you saying that absolute paths cannot be longer than 256
> > no matter how they are formed?
> Exactly. Try it for yourself. Just repeat the mkdir && cd command
> and you will encounter an error sooner or later.

0123456789 && cd 01
The filename or extension is too long.

Yep, I see. Well, I've known for some time that some facility for
abbreviating subvariant directories would be needed. Looks like a
Boost.Build v2 feature, though.

> > > Looks like we have to use the native WIN32 API to solve this. I could
> > > offer to venture a look at the jam sources if this is feasible.
> >
> > I don't see how that would help, but maybe you do. So feel free to look
> > it.
> If have the hope that the native WIN32 API doesn't have this limit when
> used with a file system that supports longer path names. I have the
> feeling I'm hitting a limit within cmd.exe. So instead of calling mkdir
> maybe using CreateDir() from the API would help.
> I just found something in the CreateDir() documentation:
> <quote>
> There is a default string size limit for paths of 248 characters.
> This limit is related to how the CreateDirectory function parses paths.
> Windows NT/2000/XP: To extend this limit to nearly 32,000 wide
> characters, call the Unicode version of the function and prepend
> "\\?\" to the path. For more information, see File Name Conventions.
> </quote>

Hmm. The cygwin mkdir has the same limitation. I suggest you try building
your own mkdir tool without limitations and setting the MKDIR variable so
that it is invoked instead of "mkdir".



Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at