Boost logo

Boost :

From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2024-02-23 14:44:43


On 2/23/24 17:06, Andrey Semashev wrote:
> On 2/23/24 16:53, Peter Dimov via Boost wrote:
>> Andrey Semashev wrote:
>>> On 2/23/24 05:07, Tom Kent via Boost wrote:
>>>> When building for windows against the 1.85.0 nightly snapshot, I'm
>>>> seeing an odd error with no info around it:
>>>>
>>>>
>>>> - type_erasure : building
>>>> - url : building
>>>> - wave : building
>>>>
>>>> ...patience...
>>>> ...patience...
>>>> ...patience...
>>>> ...patience...
>>>> ...patience...
>>>> ...patience...
>>>> ...patience...
>>>> [errno 22] failed to scan file '': Invalid argument...found 39744 targets...
>>>>
>>>>
>>>> Upping the verbosity in B2, I was able to find that it appears to
>>>> happen in
>>>> filesystem:
>> ...
>>> It looks like the error happens in b2 while it is scanning headers for
>>> dependencies. I don't know b2 internals enough to understand why that
>>> happens and whether there is something specific in Boost.Filesystem to trigger
>>> it. In any case, boost\filesystem\detail\header.hpp is not new and hasn't
>>> changed for more than a year, so I don't think it's the header. I think, this
>>> should be reported to Boost.Build.
>>>
>>> https://github.com/bfgroup/b2/issues
>>>
>>> PS: I'm not seeing this locally or in CI:
>>
>> The problem is not in Filesystem, but in Wave. I've verified that
>>
>> b2 --without-wave
>>
>> does not give the error, and
>>
>> b2 --with-wave
>>
>> does.
>>
>> For me, the latter outputs
>>
>> ...patience...
>> ...patience...
>> [errno 22] failed to scan file '': Invalid argument[errno 2] failed to scan file 'boost/wave\': No such file or directory...found 6224 targets...
>
> Indeed, and I believe this is triggered by these lines:
>
> https://github.com/boostorg/wave/blob/737c1e07eedda7f0131ec601df1a34300a1f38f0/include/boost/wave/cpp_iteration_context.hpp#L101-L102
>
> If I change those comments to "#include <header>" and "#include
> "header"" then the error disappears.
>
> The bug is in b2 though, as it should not be triggered by comments (or
> anything that isn't an actual #include directive).

I've created a PR with a fix here:

https://github.com/bfgroup/b2/pull/362


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk