This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Jianfu Pan, > To: address@hidden > From: Jianfu Pan <address@hidden> > Subject: FCALLSCFUN4, FCALLSCFUN8 problem in uniunits installation > Organization: NASA > Keywords: 200002181939.MAA10304 In the above message, you wrote: > I'm trying to install the latest Udunits software on our cray. My > installation failed due to an c89 compilation error caused by "double *" and > "long double *" data type mismatch in the functions FCALLSCFUN4 and > FCALLSCFUN8. I don't know which arguments of the functions are having the > mismatch problem. Could you tell me how to fix this or how to get around this > problem? I'll need more information. Please perform steps 2 through 6 near the end of the file INSTALL. > I'm using version 1.11.7. Is this the right version for cray? Yes. > ============================================= > The following is the message from "make all" > ============================================= > > making `all' in directory /u1/jpan/udunits-1.11.7/src/port > > > making `all' in directory /u1/jpan/udunits-1.11.7/src/port/misc > > c89 -c -O -I. -D_REENTRANT uddummy.c > FORCE: No action was taken. > ar rcuv libudport.a uddummy.o > a - uddummy.o > case "" in \ > '') ;; \ > *) ar rucv libudport.a ;; \ > esac > ranlib libudport.a > FORCE: No action was taken. > > returning to directory /u1/jpan/udunits-1.11.7/src/port > > > making `all' in directory /u1/jpan/udunits-1.11.7/src/port/cfortran > > all: No action was taken. > > returning to directory /u1/jpan/udunits-1.11.7/src/port > > FORCE: No action was taken. > > returning to directory /u1/jpan/udunits-1.11.7/src > > > making `all' in directory /u1/jpan/udunits-1.11.7/src/lib > > c89 -c -O -I../port/misc -I../port/cfortran > -DUT_DEFAULT_PATH='"/u1/jpan/udunits/etc/udunits.dat"' utlib.c > CC-82 c89: WARNING File = utlib.c, Line = 1188 > Storage class specifier is not the first specifier in the declaration. > > const register utUnit *unit; > ^ You might try switching the "const" and the "register" in the above. > > CC-167 c89: ERROR File = utlib.c, Line = 1782 > Argument of type "long double *" is incompatible with parameter of type > "double *". Interesting. After performing the above, would you please go into the lib/ subdirectory, execute the command "make utlib.i", and send me the file "utlib.i". Regards, Steve Emmerson <http://www.unidata.ucar.edu>