When rebuilding tar it regenerates lib/getdate.c from lib/getdate.y The c-file is invalid, and produces a compiler error. NOTE: this problem may be masked if you (mistakenly) put the lib/getdate.c file in the tarball -- it is NOT a source file -- just an intermediate. Reproducible: Always Steps to Reproduce: 1. Untar the tarball in location of your choice 2. configure 3. rm lib/getdate.c 3. make Actual Results: cd . && \ bison -y getdate.y && \ mv -f y.tab.c getdate.c source='getdate.c' object='getdate.o' libtool=no \ depfile='.deps/getdate.Po' tmpdepfile='.deps/getdate.TPo' \ depmode=gcc3 /bin/sh ../depcomp \ gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -g -O2 -c `test -f getdate.c || echo './'`getdate.c getdate.y: In function `yyparse': getdate.y:381: error: syntax error before '}' token getdate.y:387: error: syntax error before '}' token getdate.y:393: error: syntax error before '}' token make[2]: *** [getdate.o] Error 1 and make stops Expected Results: cd . && \ bison -y getdate.y && \ mv -f y.tab.c getdate.c source='getdate.c' object='getdate.o' libtool=no \ depfile='.deps/getdate.Po' tmpdepfile='.deps/getdate.TPo' \ depmode=gcc3 /bin/sh ../depcomp \ gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -g -O2 -c `test -f getdate.c || ec ho './'`getdate.c and make continues fine Here's a patch to fix this; note the missing semicolons in the .y file: *** tar-1.13.25/lib/getdate.y --- tar-1.13.25/lib/getdate.y *************** *** 378,396 **** | tSNUMBER tDAY_UNIT { PC.rel_day += $1.value * $2; } | tDAY_UNIT ! { PC.rel_day += $1 } | tUNUMBER tHOUR_UNIT { PC.rel_hour += $1.value * $2; } | tSNUMBER tHOUR_UNIT { PC.rel_hour += $1.value * $2; } | tHOUR_UNIT ! { PC.rel_hour += $1 } | tUNUMBER tMINUTE_UNIT { PC.rel_minutes += $1.value * $2; } | tSNUMBER tMINUTE_UNIT { PC.rel_minutes += $1.value * $2; } | tMINUTE_UNIT ! { PC.rel_minutes += $1 } | tUNUMBER tSEC_UNIT { PC.rel_seconds += $1.value * $2; } | tSNUMBER tSEC_UNIT --- 378,396 ---- | tSNUMBER tDAY_UNIT { PC.rel_day += $1.value * $2; } | tDAY_UNIT ! { PC.rel_day += $1; } | tUNUMBER tHOUR_UNIT { PC.rel_hour += $1.value * $2; } | tSNUMBER tHOUR_UNIT { PC.rel_hour += $1.value * $2; } | tHOUR_UNIT ! { PC.rel_hour += $1; } | tUNUMBER tMINUTE_UNIT { PC.rel_minutes += $1.value * $2; } | tSNUMBER tMINUTE_UNIT { PC.rel_minutes += $1.value * $2; } | tMINUTE_UNIT ! { PC.rel_minutes += $1; } | tUNUMBER tSEC_UNIT { PC.rel_seconds += $1.value * $2; } | tSNUMBER tSEC_UNIT
use tar-1.14 ... if it fails too, please re-open