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.
>To: "'address@hidden'" <address@hidden> >From: "Blankenship, Dr. Clay" <address@hidden> >Subject: NetCDF with PGI Fortran 90 >Organization: UCAR/Unidata >Keywords: 200111212208.fALM8aN13957 Hi, > My previous e-mail reporting a successful install was premature. The > configure seemed to work, but the make didn't. I am trying to install > NetCDF 3.5.0 for Portland Group (PGI) Fortran 90, version 3.2, for Windows > NT. The PGI Fortran compiler runs in a unix shell in Windows. > > Environment variables: > CC=pgcc > FC=pgf90 > CXX='' > CFLAGS=-O -DpgiFortran > FFLAGS=-O -w -Munix ... > ***Note: This appears to work, but an error shows up in config.log, below. ... > configure:2466: checking for tanh in -lc > configure:2485: pgcc -o conftest -O -DpgiFortran -DNDEBUG conftest.c -lc > 1>&5 > C:\PGI/nt86/bin/ld.exe: cannot open -lc: No such file or directory ... > configure:2504: checking for tanh in -lm > configure:2523: pgcc -o conftest -O -DpgiFortran -DNDEBUG conftest.c -lm > 1>&5 > C:\PGI/nt86/bin/ld.exe: cannot open -lm: No such file or directory Errors are to be expected in config.log, since it just records the results of the configure script trying to compile various programs to determine the compilation environment of the target platform. However the above error messages make it appear as if the standard libraries for the pgcc C compiler are not installed where it expects them, or perhaps pgcc requires a different library flag than "-lc" or "-lm" to access the standard C library or math library respectively. ... > F: make.log > PGC-S-0039-Use of undeclared variable S_IRGRP (.\posixio.c: 1185) > PGC-S-0039-Use of undeclared variable S_IWGRP (.\posixio.c: 1185) > PGC-S-0039-Use of undeclared variable S_IROTH (.\posixio.c: 1185) > PGC-S-0039-Use of undeclared variable S_IWOTH (.\posixio.c: 1185) > PGC/x86 nt86 3.2-3: compilation completed with severe errors > make[2]: *** [ncio.o] Error 1 > make[1]: *** [subdir_target] Error 1 > make: *** [libsrc/all] Error 2 The macros "S_IRGRP", "S_IWGRP", ..., should be defined in a system include file such as /usr/include/sys/stat.h on Unix systems. These macros are for POSIX-conforming implementations to define file and directory permissions, such as: #define S_IRGRP 00040 /* read permission: group */ #define S_IWGRP 00020 /* write permission: group */ Since posixio.c #includes <sys/stat.h> where these should be defined, I'm not sure why the equivalent include file on your NT system is not defining these. Perhaps there is a problem with the compiler installation or the POSIX environment emulation. We don't have a Windows NT platform with the Portland Group compiler installed, so we can't duplicate or further diagnose the problem. The "configure" script is designed for Unix platforms, and I'm not confident it would work well on Windows NT, unless you use something like the cygwin environment. Alternatively, we do have a set of "msoft.mak" files for Win32 environments that we have used successfully for building the C and Fortran interfaces, as described at ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/WIN32_README.TXT and it might be possible to just these by substituting the PGI compilers for the MS compilers in that procedure. I'm also CC:ing John Caron, who knows more about Windows NT environments, in case he has any other suggestions. --Russ