← Back to team overview

kicad-developers team mailing list archive

Re: Parallel build errors on Windows using mingw32-make

 

> To cause the problem I can simply delete pcbnew/specctra_lexer.h and start start a build
> with -j6.
>
> Best Regards, Brian.


Again, my theory is that >= 2 threads are going after the same make file target
concurrently, that target was in the make file I mentioned earlier, and the actual line in
the make file which is being executed more than once is the one below:


    cd /svn/kicad/testing.checkout/build/pcbnew && /usr/bin/cmake -Denum=DSN
-DinputFile=/svn/kicad/testing.checkout/pcbnew/specctra.keywords
-DoutHeaderFile=/svn/kicad/testing.checkout/pcbnew/specctra_lexer.h
-DoutCppFile=/svn/kicad/testing.checkout/pcbnew/specctra_keywords.cpp -P
/svn/kicad/testing.checkout/CMakeModules/TokenList2DsnLexer.cmake


Just above this line are a handful of print commands, in fancy colors.


To verify my theory Brian, can you get a complete successful build using a single thread,
then delete the spectra_lexer.h file.  Then run with -j6, but redirect the output to try
and capture a duplication of the other commands associated with this target, namely the
duplication of print statements.  You might see two or more of each one.


Something like:

$ make -j6 > capture.txt


This will capture stdout and let the stderr stream still go to console.  We want the cmake
print statements, and I think they are stdout.

If you see duplication of print statements, then the assignment of threads to target is in
fact the problem.

Then I would try hand editing the make file, combine the two target lines into one,
remember to use tabs.








Follow ups

References