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.
David, > To: address@hidden > cc: address@hidden, > cc: address@hidden > From: "David A. Gell" <address@hidden> > Subject: Building netCDF 2.4 on Open VMS > Organization: University of Michigan > Keywords: 199608282100.AA16356 In the above message you wrote: > When trying to build the netcdf package on an alpha we encounter > the following problem: > > $ macro :== macro/nolist > $ ccc := cc /opt/nodebug/list/show=include/include=[] > $ > $ ccc XDR.C > > mode_t umask(mode_t __old_mask); > ...........^ > %CC-E-DECLARATION, Invalid declaration. > at line number 256 in module STDLIB of text library > SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1 > > We noted in the archive of support mail that others have had this > same problem, but we could not find a posted solution. Is there a > solution? I'm afraid I don't know if there's a solution or not. We don't have access to an Alpha running Open VMS, so it's difficult to investigate the problem. You might try using another C compiler. From the error message, it appears that the (presumably) typedef `mode_t' is undefined. This could be due to the compiler being invoked incorrectly. On a VAX, the compiler needs the `/vax' option in order to work correctly. Do you have this option? Alternatively, you might try adding things like `#include <sys/types.h>" to file `xdr.c' to try and get a definition for `mode_t' (use the search utility to locate the header file that defines this typedef). Please let me know if this helps and especially if you discover a solution. -------- Steve Emmerson <address@hidden>