Subject: bug#19418: AC_CONFIG_FILES / stamp-h? problem

From: Mike Frysinger <[email-masked]>
Date: Sun, 27 Feb 2022 02:39:37 -0500

On 22 Feb 2022 12:53, Jeff Squyres (jsquyres) wrote:
> I'm afraid I can't easily tell.
> 
> It looks like I added a workaround in https://github.com/open-mpi/ompi/commit/40dd4c5b766ff62a681692b1fa6b72a1023fc81f on Dec 20, 2014 (the same day that I initially filed this bug report).
> 
> Half of that workaround was removed in June of 2015 when we stopped embedding a major component (https://github.com/open-mpi/ompi/commit/3e1b85ceb36d952190934e041b8894db98bb38ef); the other half persisted for several years until we changed packaging of another major component in October of 2020 (https://github.com/open-mpi/ompi/commit/0e9581d478a20b496c579c9510ea0f3d644a460d).  Honestly, I think that when I put in the workaround, we forgot about the issue -- the workaround ultimately disappeared organically over time when we made other major changes to the Open MPI code base.
> 
> So I can't say whether the bug ultimately got fixed in subsequent versions of Automake, whether it was fixed in Open MPI's m4 code, or whether the other major changes in Open MPI made the issue moot.

thanks, that helps.  i can reproduce what you're seeing.
i haven't dug deeper yet to see what's going on.

$ git clone https://github.com/open-mpi/ompi
$ cd ompi
$ git checkout 40dd4c5b766ff62a681692b1fa6b72a1023fc81f
$ WANT_AUTOCONF=2.69 WANT_AUTOMAKE=1.14 autoreconf -vfi
$ ./configure
$ grep ^config_headers= config.status
config_headers="
	opal/include/opal_config.h
	ompi/include/mpi.h
	oshmem/include/shmem.h
	opal/mca/hwloc/hwloc191/hwloc/include/private/autogen/config.h
	opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen/config.h
	opal/mca/common/libfabric/libfabric/config.h"
$ grep -A1 ^distclean-hdr Makefile.in
distclean-hdr:
	-rm -f \
		opal/mca/common/libfabric/libfabric/config.h \
		opal/mca/common/libfabric/libfabric/stamp-h4 \
		opal/mca/hwloc/hwloc191/hwloc/include/private/autogen/config.h \
		opal/mca/hwloc/hwloc191/hwloc/include/private/autogen/stamp-h5 \
		opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen/config.h \
		opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen/stamp-h6

Automake 1.16 does the same thing.

$ aclocal-1.16 && automake-1.16
$ grep -A1 ^distclean-hdr Makefile.in
distclean-hdr:
	-rm -f \
		opal/mca/common/libfabric/libfabric/config.h \
		opal/mca/common/libfabric/libfabric/stamp-h4 \
		opal/mca/hwloc/hwloc191/hwloc/include/private/autogen/config.h \
		opal/mca/hwloc/hwloc191/hwloc/include/private/autogen/stamp-h5 \
		opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen/config.h \
		opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen/stamp-h6
-mike