[CMake] ExternalProject feature regenerating the configure script

Alan W. Irwin irwin at beluga.phys.uvic.ca
Tue Jul 23 23:42:23 EDT 2013


On 2013-07-23 18:09-0700 Ashok Nalkund wrote:

> I noticed the following messages when I ran 'make VERBOSE=1 -d':
>
>> <path to package>/build/src/package/Makefile.in'.
>>     Prerequisite `<path to package>/build/src/package/aclocal.m4' is newer 
>> than target `<path to package>/build/src/package/Makefile.in'.
>>    Must remake target `<path to package>/build/src/package/Makefile.in'.
>> Putting child 0x0156a7f0 (<path to package>/build/src/mare/Makefile.in) PID 
>> 23029 on the chain.
>> Live child 0x0156a7f0 (<path to package>/build/src/mare/Makefile.in) PID 
>> 23029
>>  cd <path to package>/build/src/mare && /bin/sh <path to 
>> package>/build/src/mare/autotools/missing --run automake-1.11 --foreign
>> aclocal.m4:17: warning: this file was generated for autoconf 2.68.
>
> I'll dig into this more.

I suggest you try replacing cmake -E touch everywhere it occurs in the
ExternalPackage module with the equivalent Unix (or MSYS) touch
command. That's what I was forced to do because the "cmake -E touch
<filename>" command is not reliable with regard to timing (it
truncates all times to the nearest second) leading to weird regeneration
results similar to what you have described.

You could also try the git version of CMake.  I have been told that
the appropriate bug fix for this "cmake -E touch" issue has been done
in the git version of CMake in response to my bug report, but this fix
will only be deployed for the forthcoming CMake-2.8.12 release.

If time truncation to the nearest second for "cmake -E touch" in the
ExternalPackage module is not the issue, then the other possibility is
the release tarball has not been correctly prepared for autotools
release so the build-system file dates are not in the right date order
==> inappropriate regeneration of the build-system files for the user.
(This actually happened to me as a release manager many years ago when
PLplot was still using autotools, and I remember that embarrassment
very well indeed.) But in this case, you would also get regeneration
when running configure/make by hand, and you stated that was not the
case.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list