I just attempted to reproduce this issue and was unable to. I did this on a RHEL6 box with master hash ce2008a:
----✂---- $ touch config/opal_config_pthreads.m4 && ./autogen.pl && module unload cisco/autotools/ac269-am1133-lt242 && ./configure --prefix=$PWD/_prefix && make ----✂---- Which did exactly what I expected and only ran configure once, the time that I explicitly requested it to be run. I even ran it again to make sure that the timestamp on opal_config_ptrheads.m4 was the only source state difference between the two runs. So I don't know what is causing your problem, but it's not the rule you pointed out in the generated makefile. Perhaps you are building on NFS and this is causing you some timestamp headaches? -Dave On Dec 22, 2014, at 8:13 PM, Gilles Gouaillardet <gilles.gouaillar...@gmail.com> wrote: > Hi Dave, > > yes, i did experience this exact behaviour. > > "by accident" meant i ran autogen.pl with the required autotools versions. > then, i ran configure and make with the RHEL6 stock autotools (that are too > old for OMPI) > configure worked just fine, but make crashed because of outdated autotools > > if i ran make with the latest autotools, i would probably have not noticed > the issue. > > note the issue occurs only when make is invoked for the first time. > if make success, autoheader does touch mpif.h.in, so the next make do not > require autotools. > > if i read between the lines, it seems autoheader is not (correctly) invoked > by autogen.pl > > please let me know if you cannot reproduce this issue. > (and once again, this is a very minor annoyance, and since tarballs are > generated with make dist, tarballs are very likely unaffected, so bottom line, > only developers that update m4 files can be affected) > > > Cheers, > > Gilles > > On Tue, Dec 23, 2014 at 2:26 AM, Dave Goodell (dgoodell) <dgood...@cisco.com> > wrote: > On Dec 22, 2014, at 2:42 AM, Gilles Gouaillardet > <gilles.gouaillar...@iferc.org> wrote: > > > Jeff and all, > > > > i just found "by accident" that make can require autotools. > > > > for example: > > > > from (generated) ompi/include/Makefile : > > $(srcdir)/mpi.h.in: $(am__configure_deps) > > ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) > > rm -f stamp-h2 > > touch $@ > > > > and $(am__configure_deps) is a bunch (all?) of .m4 files. > > > > from a pragmatic point of view, it means that if update a m4 file, run > > autogen.pl and configure, > > then, the first invokation of make will run $(AUTOHEADER) > > Gilles, > > Have you actually experienced this exact behavior? The sequence you mention > above shouldn't cause autoheader to be invoked by make. Running autogen.pl > will invoke autoheader after the m4 files were touched, so the mpi.h.in file > will be newer than its m4 dependencies, which should mean that this make rule > won't be executed. > > -Dave > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/12/16713.php > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/12/16717.php