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.
Vladimir, >Date: Sun, 15 Aug 2004 08:52:30 +0200 >From: "Vladimir Meerson" <address@hidden> >Organization: Israel Meteorological Service >To: "Steve Emmerson" <address@hidden> >Subject: Re: 20040811: NetCDF installation problem > Keywords: 200408111149.i7BBnPaW019090 netCDF IRIX The above message contained the following: > Thank you for your mail. > I've contacted with SGI Israel about the compilation error; this is the > answer > > --- Hello Vladimir, > --- I've checked the application you send me , and try to compile the attr.c > --- file as you tried. > --- > --- The error you getting : > --- cc-1084 cc: ERROR File = > --- /usr/include/internal/stddef_core.h, Line = 39 > --- The indicated declaration has an invalid > --- combination of type specifiers. > --- typedef __int64_t ptrdiff_t; > --- Indicate that there is some problem with the define types. > --- > --- IRIX of SGI defines ptrdiff_t, size_t and ssize_t in header files > --- /usr/include/stddef.h, types.h already. > --- In the sources you send me , those types are re-define in ncconfig.h . > --- This causing all those errors. > --- > --- I commented off these lines: ( in ncconfig.h file ) > --- //#define ssize_t int > --- //#define ptrdiff_t int > --- > --- And now the compilation of the file attr.c is completing well. > --- > --- ( Although this code is not yours , I think you can do this change , as > I > --- saw in SGI Databases that others got the same problem already , and > solved > --- it in the same way) > --- > --- Let me know if you have any further issues , or I can close this case. > --- B.t.w - I saw that you are compiling without the proper license. Please > take > --- care of it. > --- > --- Regards, > --- Efrat Ben-Ami > --- Software System Engineer ,SGI Israel. In general, we prefer that the netCDF package not be modfield in order to build it because that increases the difficulty of diagnosing problems and helping users. There's something wrong with or incomplete about the explanation from SGI Israel because the configure(1) script determined that the symbols "ssize_t" and "ptrdiff_t" were undefined: > checking for ssize_t... no > checking for ptrdiff_t... no Before that, however, the configure(1) script determined that the compilation environment did not have Standard C header-files: > checking for ANSI C header files... no This determination might have caused the configure(1) script to miss the "ssize_t" and "ptrdiff_t" definitions. Because a misdetermination by the configure(1) script can cause many subsequent problems with building the package and using it, I'd like to determine the root cause of the problem before continuing. Would you please do the following: 1. Go to the top-level source directory. 2. Edit the configure(1) script: a. Locate the string "checking for ssize_t" (line 3827?) b. Comment-out the three following rm(1)s of "conftest*" (lines 3843, 3846, and 3849?) c. Add the command "exit" just before the next block of code that checks for "ptrdiff_t" (line 3860?). 3. Execute the command "make distclean". 4. Execute the configure(1) script. 5. If the output indicates that the symbol "ssize_t" wasn't found, then a. Replace "STDC_HEADERS" in file "conftest.c" with a 1. b. Manually rebuild "conftest.c" using the command near the end of file "config.log". c. Manually execute conftest.c to see if "ssize_t" is found. d. If "ssize_t" is found, then the macro STDC_HEADERS should have been set to 1 by the configure(1) script rather than to 0. In this case, the erlier determination in the configure(1) script (line 3657?) is incorrect and we need to discover why. This can be done by something similar to steps 2 through 4 above. 6. Let me know what you discover. Regards, Steve Emmerson