[Scons-users] Parallel builds sometimes fails

Bill Deegan bill at baddogconsulting.com
Fri May 25 15:32:56 EDT 2018


Hua,

Ahh gotcha.

On Fri, May 25, 2018 at 12:28 PM, Hua Yanghao <huayanghao at gmail.com> wrote:

> My header is not included in the C file, it is unconditional included by
> “-include config.h”, how do you expect scons to know that? Parsing GCC
> command line? :)
>
> On Fri 25. May 2018 at 20:30, Bill Deegan <bill at baddogconsulting.com>
> wrote:
>
>> You should not have to explicitly tell SCons that a source file depends
>> on a header...
>>
>> On Fri, May 25, 2018 at 11:47 AM, Hua Yanghao <huayanghao at gmail.com>
>> wrote:
>>
>>> I am also using generated header files, which in turn is
>>> unconditionally included by all C files.
>>> The way I use is to first collect the entire C objects and mark an
>>> explicit dependency: env.Depends(obj_list, depend_list).
>>>
>>> However you need to make the scons build aware of the generated header
>>> files, which in my case is generated by a customer scons builder.
>>>
>>> And my builds worked fine with parallel builds.
>>>
>>> On Fri, May 25, 2018 at 4:48 PM, mingqian Han <mq_han at hotmail.com>
>>> wrote:
>>> > Hi all,
>>> >
>>> >      I am trying to implement a building infrastructure based on Scons.
>>> > Currently it works nicely when doing a non-parallel build (-j1)
>>> >      However when I run a parallel build, sometimes it fails.
>>> >      The build is mostly C source files, and some of them include a
>>> specific
>>> > header file, for example, #include "myheader.h"
>>> >       But myheader.h is a generated file from some configuration
>>> files. I
>>> > have created a custom SCons builder, put under scons_tools, and it
>>> generates
>>> > this file when Scons runs.
>>> >       However in parallel build, sometimes some source files get to
>>> compile
>>> > before myheader.h is generated, which results in error: myheader.h not
>>> > found.
>>> >       And sometimes, when my custom SCons builder gets running, it
>>> reports
>>> > error, saying that it is unable to access this file because other
>>> process is
>>> > using it. In such case, myheader.h is only partially generated.
>>> >       I know SCons reads all the SConscripts first then decides the
>>> order of
>>> > building itself. So is there any way to make the parallel build
>>> success?
>>> >       Thanks all.
>>> >
>>> > Regards,
>>> >
>>> > Rafael
>>> >
>>> > _______________________________________________
>>> > Scons-users mailing list
>>> > Scons-users at scons.org
>>> > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>> >
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20180525/b3cd2991/attachment-0001.html>


More information about the Scons-users mailing list