[cam-users] IRIX Compile Problem Resolved as Gmake Bug
David Neckels
dneckels@scd.ucar.edu
Wed, 19 Jun 2002 12:40:49 -0600 (MDT)
On June 17 a mail was sent to this list describing a problem two users
were having compiling the CAM/CCSM on IRIX 6.5. This problem has been
resolved.
There is a known bug involving the calculation of file dates in some
versions of gmake. A fix to this bug is included in gmake 3.79.1. If the
symptoms below occur, please update to this latest version of gmake (it
should be noted that the bug does not appear in some older versions of
gmake; it was introduced somewhere between 3.78.1 and 3.79).
This bug has also been seen on other operating systems
(Solaris, for instance), though not with the CAM.
-The release notes for gmake 3.79.1 describe the fix (gmake, ChangeLog):
__________________________________________
2000-04-18 Paul D. Smith <psmith@gnu.org>
* remake.c (f_mtime): If ar_member_date() returns -1 (the member
doesn't exist), then return (FILE_TIMESTAMP)-1 rather than
returning the timestamp calculated from the value -1. Fixes
PR/1696.
Reported by Gilles Bourhis <Gilles.Bourhis@univ-rennes1.fr>.
_________________________________________
-More information can be found at the gmake bug tracking system:
http://bugs.gnu.org/cgi-bin/gnatsweb.pl?debug=&database=default&cmd=view+audit-trail&pr=1696
-Examples of other people encountering this bug may be viewed at:
http://www.geocrawler.com/archives/3/351/2000/12/0/4785432/
http://www.geocrawler.com/archives/3/351/2000/4/0/3619059/
In summary, if this bug appears on your system upgrade your gmake version
to 3.79.1.
Thank you,
David Neckels
The description provided with the mail June 17 is below.
================
NCAR Boulder, Co
http://www.scd.ucar.edu/css/staff/dneckels
(303) 497-1224
The following lists the symptoms of this problem:
1) The CCSM (CAM) compile gets to the ESMF build. It begins traversing
the makefiles and builds ESMC_BasicUtil.o, the first file in the ESMF
build.
2) The archive facility is called to add this object file to the library
libesmf.a. Since the library is not yet created (this is the first object
file) ar creates the library.
3) This new library has a future date (2010-02-22, 8 years in the future
in the two cases seen so far).
4) Dependency checking thereafter does not work since the library has a
future date. None of the esmf files are built, and the build eventually
crashes when these files are needed.