Parallel make sometimes breaks build
vpv opened this issue · comments
Ville-Pekka Vainio commented
I have been working on reviving the Fedora packaging of foma. My local system and Fedora's copr use a different -j value for make. With -j 4 on my local system the builds always succeed. With -j 2 on copr builds always seem to fail.
One example of a failing build on Fedora 33 is here.
I'll paste a bit of the build log here, in case it helps:
bison -v --defines=regex.h --output=regex.c regex.y
gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -Wl,--as-needed -D_GNU_SOURCE -std=c99 -fvisibility=hidden -fPIC -c regex.c -o regex.o
regex.y: In function 'yyparse':
regex.y:323:54: error: 'fsm_i' undeclared (first use in this function); did you mean 'fsm'?
323 | | network4 BICOND network5 { $$ = fsm_intersect(fsm_union(fsm_complement(fsm_copy($1)),fsm_copy($3)), fsm_union(fsm_complement(fsm_copy($3)),fsm_copy($1))); fsm_destroy($1); fsm_destroy($3);}
| ^~~~~
| fsm
regex.y:323:54: note: each undeclared identifier is reported only once for each function it appears in
regex.y:323:59: error: expected ';' at end of input
323 | | network4 BICOND network5 { $$ = fsm_intersect(fsm_union(fsm_complement(fsm_copy($1)),fsm_copy($3)), fsm_union(fsm_complement(fsm_copy($3)),fsm_copy($1))); fsm_destroy($1); fsm_destroy($3);}
| ^
| ;
regex.y:323:38: error: expected declaration or statement at end of input
323 | | network4 BICOND network5 { $$ = fsm_intersect(fsm_union(fsm_complement(fsm_copy($1)),fsm_copy($3)), fsm_union(fsm_complement(fsm_copy($3)),fsm_copy($1))); fsm_destroy($1); fsm_destroy($3);}
| ^
regex.y:323:38: error: expected declaration or statement at end of input
regex.y:323:38: error: expected declaration or statement at end of input
regex.y:281:23: error: label 'yyerrorlab' used but not defined
281 | | LDOT RDOT ARROW n0 { add_eprule($4,NULL,$3|ARROW_DOTTED); if ($4 == NULL) { YYERROR;}}
| ^
regex.c:1826:5: error: label 'yyerrlab' used but not defined
1826 | goto yyerrlab;
| ^~~~
regex.c:1780:7: error: label 'yyerrlab1' used but not defined
1780 | goto yyerrlab1;
| ^~~~
regex.c:1739:5: error: label 'yyacceptlab' used but not defined
1739 | YYACCEPT;
| ^~~~~~~~
regex.c:1734:9: error: label 'yyabortlab' used but not defined
1734 | YYABORT;
| ^~~~~~~
regex.c:1714:11: error: label 'yyexhaustedlab' used but not defined
1714 | goto yyexhaustedlab;
| ^~~~
Ville-Pekka Vainio commented
Thanks for merging, @mhulden. I'll close this issue.
The foma package was retired on Fedora, because I was too slow fixing it. I have asked Fedora release engineering to add it back. We'll see what they think, it might take a while.