[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 20011124: NetCDF with PGI Fortran 90



>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