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.
Hi, By choosing "config.log" as the name of the file in which to put the output from the configure script, you had the bad luck of choosing the same file name as configure uses to log its detailed internal tests. So the result is both kinds of information got written into the same file, but it looks like your configure script completed, because it ended with: configure: exit 0 Most of the other error messages you see in there occur while configure is testing the environment, and are expected. However, this is not, and indicates a problem in your PGI compilation environment, such as not installing the header files correctly: configure:26581: checking for IEEE floating point format ... configure:26639: ./conftest configure:26643: $? = 1 configure: program exited with status 1 configure: failed program was: ... configure:26659: result: no This probably means the /usr/include/float.h header file which is a required C Standard Library header either doesn't have the required macro definitions or defines some floating-point properties that do not conform to the IEEE floating point standard or any other floating point standard that netCDF can handle. Your 64-bit x86 platform ought to use IEEE floating point arithmetic, so until you can successfully compile (with pgcc) and run the small C program attached to produce some output other than "not IEEE", your compilation environment can't be used for building and installing netCDF. I hope this helps ... --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: JIL-655966 Department: Support netCDF Priority: Normal Status: Closed
/* confdefs.h. */ #define PACKAGE_NAME "netCDF" #define PACKAGE_TARNAME "netcdf" #define PACKAGE_VERSION "4.0" #define PACKAGE_STRING "netCDF 4.0" #define PACKAGE_BUGREPORT "address@hidden" #define PACKAGE "netcdf" #define VERSION "4.0" #define USE_EXTREME_NUMBERS 1 #define TEMP_LARGE "." #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_UNISTD_H 1 #define HAVE_DLFCN_H 1 #define LT_OBJDIR ".libs/" #define NF_INT1_T byte #define NF_INT2_T integer*2 #define NF_INT1_IS_C_SIGNED_CHAR 1 #define NF_INT2_IS_C_SHORT 1 #define NF_INT_IS_C_INT 1 #define NF_REAL_IS_C_FLOAT 1 #define NF_DOUBLEPRECISION_IS_C_DOUBLE 1 #define NCBYTE_T byte #define NCSHORT_T integer*2 #define HAVE__BOOL 1 #define HAVE_STRERROR 1 #define HAVE_ALLOCA_H 1 #define HAVE_ALLOCA 1 #define HAVE_DECL_ISNAN 1 #define HAVE_DECL_ISINF 1 #define HAVE_DECL_ISFINITE 0 #define HAVE_DECL_SIGNBIT 0 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 #define HAVE_ST_BLKSIZE 1 /* end confdefs.h. */ #include <stdio.h> #ifndef NO_FLOAT_H #include <float.h> #endif #define EXIT_NOTIEEE 1 #define EXIT_MAYBEIEEE 0 int main() { #if defined(FLT_RADIX) && FLT_RADIX != 2 {printf("not IEEE\n"); return EXIT_NOTIEEE;}; #elif defined(DBL_MAX_EXP) && DBL_MAX_EXP != 1024 {printf("not IEEE\n"); return EXIT_NOTIEEE;}; #elif defined(DBL_MANT_DIG) && DBL_MANT_DIG != 53 {printf("not IEEE\n"); return EXIT_NOTIEEE;}; #elif defined(FLT_MAX_EXP) && !(FLT_MAX_EXP == 1024 || FLT_MAX_EXP == 128) {printf("not IEEE\n"); return EXIT_NOTIEEE;}; #elif defined(FLT_MANT_DIG) && !(FLT_MANT_DIG == 53 || FLT_MANT_DIG == 24) {printf("not IEEE\n"); return EXIT_NOTIEEE;}; #else /* (assuming eight bit char) */ if(sizeof(double) != 8) {printf("not IEEE\n"); return EXIT_NOTIEEE;}; if(!(sizeof(float) == 4 || sizeof(float) == 8)) {printf("not IEEE\n"); return EXIT_NOTIEEE;}; printf("maybe IEEE\n"); return EXIT_MAYBEIEEE; #endif }