Subject: Re: bug#50085: fatal error: parse-datetime.tab.h: No such file or directory
From: Pádraig Brady <[email-masked]>
To: softwarebugreports <[email-masked]>, [email-masked]
Date: Tue, 17 Aug 2021 16:16:03 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

On 17/08/2021 02:32, softwarebugreports via GNU coreutils Bug Reports wrote:
> I receive the following error when using make with coreutils in a alpine based docker container:
> 
>> #10 304.0 CC lib/mkdir-p.o
>> #10 304.1 CC lib/modechange.o
>> #10 304.1 CC lib/mpsort.o
>> #10 304.2 CC lib/nproc.o
>> #10 304.2 CC lib/nstrftime.o
>> #10 304.3 CC lib/openat-die.o
>> #10 304.4 CC lib/openat-safer.o
>> #10 304.4 CC lib/opendirat.o
>> #10 304.4 CC lib/parse-datetime.o
>> #10 304.5 parse-datetime.tab.c:658:10: fatal error: parse-datetime.tab.h: No such file or directory
>> #10 304.5 compilation terminated.
>> #10 304.5 make[2]: *** [Makefile:10276: lib/parse-datetime.o] Error 1
>> #10 304.5 make[2]: Leaving directory '/coreutils'
>> #10 304.5 make[1]: *** [Makefile:12913: all-recursive] Error 1
>> #10 304.5 make[1]: Leaving directory '/coreutils'
>> #10 304.5 make: *** [Makefile:7030: all] Error 2
>> #10 ERROR: executor failed running [/bin/sh -c git clone --branch v8.32 --single-branch https://git.savannah.gnu.org/git/coreutils.git && export FORCE_UNSAFE_CONFIGURE=1 && ./bootstrap && ./configure --disable-gcc-warnings --disable-nls --enable-install-program=hostname --enable-single-binary=symlinks --without-gmp && make]: exit code: 2
>> ------
>>> [6/6] RUN git clone --branch v8.32 --single-branch https://git.savannah.gnu.org/git/coreutils.git && cd coreutils && export FORCE_UNSAFE_CONFIGURE=1 && ./bootstrap && ./configure --disable-gcc-warnings --disable-nls --enable-install-program=hostname --enable-single-binary=symlinks --without-gmp && make:
>> ------
>> executor failed running [/bin/sh -c git clone --branch v8.32 --single-branch https://git.savannah.gnu.org/git/coreutils.git && export FORCE_UNSAFE_CONFIGURE=1 && ./bootstrap && ./configure --disable-gcc-warnings --disable-nls --enable-install-program=hostname --enable-single-binary=symlinks --without-gmp && make]: exit code: 2
>> make: *** [Makefile:9: build-coreutils] Error 1
> 
> My Dockerfile has the following content:
> 
>> FROM alpine:3.14.1
>>
>> ENV CFLAGS "-static"
>>
>> RUN mkdir /static/
>>
>> RUN apk add --no-cache \
>> acl-dev \
>> attr-dev \
>> autoconf \
>> automake \
>> bash \
>> bison \
>> coreutils \
>> gcc \
>> gettext-dev \
>> git \
>> gperf \
>> make \
>> musl-dev \
>> patch \
>> perl \
>> perl \
>> rsync \
>> texinfo \
>> utmps-dev \
>> wget \
>> xz
>>
>> RUN git clone --branch v8.32 --single-branch https://git.savannah.gnu.org/git/coreutils.git \
>> && cd coreutils \
>> && export FORCE_UNSAFE_CONFIGURE=1 \
>> && ./bootstrap \
>> && ./configure \
>> --disable-gcc-warnings \
>> --disable-nls \
>> --enable-install-program=hostname \
>> --enable-single-binary=symlinks \
>> --without-gmp \
>> && make
> 
> Is there something I can try to correct this error?

Seems this is related bison >= 3.7 which Bruno fixed in:
https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00178.html

That would have to be integrated as a patch against your coreutils sources.

cheers,
Pádraig