Source: sketch
Version: 1:0.3.7-5
Severity: serious
Tags: patch

dh compat 10 enables paralles building,
which sometimes runs into the following bug:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/sketch.html

...
dh_auto_build
        make -j15
make[2]: Entering directory '/build/1st/sketch-0.3.7'
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o bsp.o bsp.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o cmdline.o 
cmdline.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o emit.o 
emit.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o error.o 
error.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o expr.o 
expr.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o geometry.o 
geometry.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o geomio.o 
geomio.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o global.o 
global.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o langver.o 
langver.c
bison --defines --debug --report=all --yacc sketch.y
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o main.o 
main.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o memutil.o 
memutil.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o opts.o 
opts.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o scene.o 
scene.c
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o symbol.o 
symbol.c
expr.c: In function 'to_integer':
expr.c:374:12: warning: variable 'frac_part' set but not used 
[-Wunused-but-set-variable]
     double frac_part, int_part;
            ^~~~~~~~~
bison --defines --debug --report=all --yacc sketch.y
gcc -O1 -g -Wall -Wall -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o lex.yy.o 
lex.yy.c
sketch.l: In function 'yylex':
sketch.l:86:3: error: 'yylval' undeclared (first use in this function); did you 
mean 'yylex'?
   yylval.str = safe_malloc(yyleng + 1 - 2);
   ^~~~~~
   yylex
...


Note how bison is running twice, with an output file already being
used while the second bison regenerates it again resulting in an
incomplete file being used.

Fix attached.
Description: Fix parallel FTBFS
 Don't run bison twice, with a generated file already being used
 while the second bison is still running.
Author: Adrian Bunk <b...@debian.org>

--- sketch-0.3.7.orig/makefile
+++ sketch-0.3.7/makefile
@@ -43,7 +43,9 @@ HEADERS=bsp.h cmdline.h dynarray.h emit.
 $(EXE) : $(OBJECTS)
        $(CC) -o $(EXE) $(OBJECTS) -lm
 
-y.tab.c y.tab.h : sketch.y
+y.tab.c : y.tab.h
+
+y.tab.h : sketch.y
        $(YACC) $<
 
 lex.yy.c : sketch.l
-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to