On Jan 5, 2015, at 8:40 PM, Gilles Gouaillardet <gilles.gouaillar...@iferc.org> 
wrote:

> Dave,
> 
> what if you do
> 
> touch ompi/include/mpi.h.in && sleep 1 && touch 
> config/opal_config_pthreads.m4 && ./autogen.pl && module unload 
> cisco/autotools/ac269-am1133-lt242 && ./configure --prefix=$PWD/_prefix && 
> make
> 
> 
> autogen.pl nor configure does not touch ompi/include/mpi.h.in, and as a
> consequence,
> config/opal_config_pthreads.m4 is newer than ompi/include/mpi.h when
> make is invoked.
> 
> then from ompi/include/Makefile:
> 
> $(srcdir)/mpi.h.in:  $(am__configure_deps)
>        ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
>        rm -f stamp-h2
>        touch $@

I don't see that rule in my ompi/include/Makefile.  I only have a couple of 
mentions of mpi.h.in:

----✂----
DIST_COMMON = $(top_srcdir)/Makefile.ompi-rules \
        $(srcdir)/ompi/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/Makefile.am $(srcdir)/mpi.h.in $(srcdir)/mpif.h.in \
        $(srcdir)/mpif-config.h.in $(am__include_HEADERS_DIST) \
        $(am__nobase_dist_ompi_HEADERS_DIST) $(pkginclude_HEADERS)
[...]
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)mpi.h.in
[...]
stamp-h2: $(srcdir)/mpi.h.in $(top_builddir)/config.status
        @rm -f stamp-h2
        cd $(top_builddir) && $(SHELL) ./config.status ompi/include/mpi.h
----✂----

Maybe the rule in your version of ompi/include/Makefile comes from an older, 
buggy version of automake?

> this means $(AUTOHEADER) is invoked, and then ompi/include/mpi.h.in is
> touched.

I don't see $(AUTOHEADER) being invoked by make when I run the commands you 
listed (with "sleep 1" changed to "sleep 5" to be certain):

----✂----
make[1]: Entering directory `/home/dgoodell/git/ompi-upstream/ompi'
Making all in include
make[2]: Entering directory `/home/dgoodell/git/ompi-upstream/ompi/include'
make  all-am
make[3]: Entering directory `/home/dgoodell/git/ompi-upstream/ompi/include'
  GENERATE mpif-sizeof.h
  LN_S     mpi_portable_platform.h
make[3]: Leaving directory `/home/dgoodell/git/ompi-upstream/ompi/include'
make[2]: Leaving directory `/home/dgoodell/git/ompi-upstream/ompi/include'
Making all in datatype
----✂----

Here are the timestamps on the relevant files after the build completes:

----✂----
-rw-rw-r-- 1 dgoodell dgoodell     33 2015-01-06 08:21:18.414503328 -0800 
ompi/include/stamp-h2
-rw-rw-r-- 1 dgoodell dgoodell 166283 2015-01-06 08:21:18.408502854 -0800 
ompi/include/mpi.h
-rwxrwxr-x 1 dgoodell dgoodell 246260 2015-01-06 08:21:09.283782006 -0800 
config.status*
-rw-rw-r-- 1 dgoodell dgoodell  18853 2015-01-06 08:17:07.212658002 -0800 
config/opal_config_pthreads.m4
-rw-rw-r-- 1 dgoodell dgoodell 165986 2015-01-06 08:17:02.209262644 -0800 
ompi/include/mpi.h.in
----✂----

-Dave

Reply via email to