mhulden / foma

Automatically exported from code.google.com/p/foma

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Parallel make sometimes breaks build

vpv opened this issue · comments

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;
      |           ^~~~

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.