<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 14, 2020 at 10:38 PM Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">Shouldn’t the race be fixed? This might still happen because -j still parallelises the build,no?</div></div></blockquote><div dir="auto"><br></div><div dir="auto">It perhaps is a make bug which only triggers with -j and -l being both present it’s perhaps easily reproducible using these together on bison builds </div><div dir="auto">As such I don’t see anything wrong with bison makery </div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto"></div></div><div dir="auto"><br></div><div dir="auto">Alex</div><div><br><div class="gmail_quote"></div></div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun 15. Mar 2020 at 5.30, Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In some cases, we run into parallel build failures where BUILT_SOURCES<br>
is skipped, as a result required header files are not generated and the<br>
build fails with missing header errors like<br>
<br>
../bison-3.5.2/lib/uniwidth/width.c:21:10: fatal error: uniwidth.h: No such file or directory<br>
#include "uniwidth.h"<br>
^~~~~~~~~~~~<br>
compilation terminated.<br>
<br>
BUILT_SOURCES should be built automatically with `make all` [1] therefore<br>
ensure that make is invoked with `all` target<br>
<br>
bison-native parallel build fails when -l<n> is passed globally from<br>
build environment, errors like below due to race starts to show up<br>
<br>
Therefore removes a previous load limit if set<br>
<br>
[1] <a href="https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html#Built-Sources-Example" rel="noreferrer" target="_blank">https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html#Built-Sources-Example</a><br>
<br>
Signed-off-by: Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
---<br>
meta/recipes-devtools/bison/<a href="http://bison_3.5.3.bb" rel="noreferrer" target="_blank">bison_3.5.3.bb</a> | 6 ++++++<br>
1 file changed, 6 insertions(+)<br>
<br>
diff --git a/meta/recipes-devtools/bison/<a href="http://bison_3.5.3.bb" rel="noreferrer" target="_blank">bison_3.5.3.bb</a> b/meta/recipes-devtools/bison/<a href="http://bison_3.5.3.bb" rel="noreferrer" target="_blank">bison_3.5.3.bb</a><br>
index 09e4b18f9e..27e09434f8 100644<br>
--- a/meta/recipes-devtools/bison/<a href="http://bison_3.5.3.bb" rel="noreferrer" target="_blank">bison_3.5.3.bb</a><br>
+++ b/meta/recipes-devtools/bison/<a href="http://bison_3.5.3.bb" rel="noreferrer" target="_blank">bison_3.5.3.bb</a><br>
@@ -18,6 +18,12 @@ SRC_URI[sha256sum] = "2bf85b5f88a5f2fa8069aed2a2dfc3a9f8d15a97e59c713e3906e5fdd9<br>
# No point in hardcoding path to m4, just use PATH<br>
EXTRA_OECONF += "M4=m4"<br>
<br>
+# Reset any loadavg set via environment, it breaks parallel build<br>
+# | ../bison-3.5.2/lib/uniwidth/width.c:21:10: fatal error: uniwidth.h: No such file or directory<br>
+# | #include "uniwidth.h"<br>
+# | ^~~~~~~~~~~~<br>
+EXTRA_OEMAKE_append = " -l"<br>
+<br>
inherit autotools gettext texinfo<br>
<br>
# The automatic m4 path detection gets confused, so force the right value<br>
-- <br>
2.25.1<br>
<br>
-- <br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div></div>
</blockquote></div></div>