Problem of hanging autoreconf

Hi,

i am trying to use docker to build some tools that make use of autoconf/automake with an alpine:edge base image. When the source code provides a configure command, everything works fine, but when this script must be generated first, using autoreconf -vfi, docker seems to hang on : checking that generated files are newer than configure....

It happens on both:

  • docker Version 17.09.0-ce-mac35 (19611) Channel: stable a98b7c1b7c on Mac OS Sierra 10.12.6
  • docker Version 17.03.1-ce, build c6d412e on Debian 8.7.

An example of Dockerfile that exhibits the problem (on my computers):

FROM alpine:edge
RUN apk add --no-cache --virtual .build-deps \
        autoconf \
        automake \
        boost-dev \
        build-base \
        file \
        git \
        libtool \
 && git clone https://github.com/lip6/libDDD \
 && cd libDDD \
 && autoreconf -vfi \
 && ./configure
 && apk del .build-deps \

Any ideas of what to do? Of course, i do not want to add the configure script to the repository, as it does not belong to me.

I want to use autoconf on another project using alpine:edge as well and it hangs at that same checking that generated files are newer than configure.... Does someone know what is going on? Any help is appreciated.

1 Like

I still do not know what happens, but using alpine (not the edge version) works perfectly.

That is interesting. This unfortunately is not an option for me as I depend on a package that is only available for edge. Autoconf hasn’t changed for years and all repo versions use 2.69. My guess is that it is not because of autoconf. Might something else hang here? (e.g. M4)

Can confirm that using alpine 3.6 (not the edge version) works… However, this issue also persists in the newly released alpine 3.7… I think the issues stems from one of Alpine’s packages.
Autoconf hasn’t really changed so I can’t exactly pin down the cause here.

Just stumbled onto this issue while trying to bootstrap Alpine from a 3.7 Docker container. When abuild runs configure for pkgconf it hangs for what seems like eons. Looking into it, I found that the configure script fails when Bash is installed, for some weird reason. Simply uninstalling Bash fixed this for me.

I have the same problem here. It seem’s the alpine 3.7 libtool package depend on bash, and it hangs the build, I just remove libtool and it works.

I think the wait builtin of bash v4.4 (Alpine 3.7) might be causing this.

Sadly the commit messages for bash are just a sequence of patch numbers so don’t help work out why things are changing - see http://git.savannah.gnu.org/cgit/bash.git/log

I did find the following commit, which suggests the behaviour of the wait builtin changed in v4.4:

http://git.savannah.gnu.org/cgit/bash.git/commit/builtins/wait.def?id=a0c0a00fc419b7bc08202a79134fcd5bc0427071

A rather horrible workaround for situations where libtool is required (and therefore bash arrives as a dependency) is to symlink /bin/bash to the busybox-provided /bin/sh.

rm /bin/bash && ln -s /bin/sh /bin/bash

Hope this helps someone.

This should be fixed now. It was a combination of a bug in musl libc and bash. Fixing either fixes the issue and musl libc bug was fixed and the bash issue was reported

1 Like

I can confirm it is still happening on Alpine 3.7, running in raspberry-pi.

hangs on “checking that generated files are newer than configure…” with Alpine 3.7, and runs fine with 3.6.