← Back to team overview

kicad-developers team mailing list archive

Re: Wrong dependencies in build


Thanks for chasing this down.  It couldn't have been easy.

On Thu, May 30, 2019 at 3:38 PM Simon Richter <Simon.Richter@xxxxxxxxxx> wrote:
> Hi,
> we have some intermittent build failures that I've tried to debug today. As
> parallelism is involved, I now want to set everything on fire.
> Symptom: if we have enough CPUs, the lexer generation is started multiple
> times in parallel for the same outputs. The first platform where we saw
> this was MSVC, but I can also get it on Linux, although the timing is a bit
> tighter there. As a result, the generated header file is broken in various
> ways -- on MSVC, every second token in the enumeration swaps place with its
> comma, on Linux we get two copies of the file interleaved.
> According to the fine folks on the #cmake IRC channel, what we're doing
> since b7f890adb "Fix parallel build bugs." is illegal, because output files
> from a custom command are consumed by two different projects -- i.e. rather
> than the intention that the files are built in the custom target, now the
> custom target causes another avenue where a parallel build needs to prepare
> the files.
> I have no immediate idea how to write this so it is safe for any number of
> CPUs and portable everywhere, so if anyone does, it'd be nice if they'd fix
> it, because I probably won't get around to it for a while.
>    Simon
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp