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.
Ian, > To: address@hidden > From: Ian Rutt <address@hidden> > Subject: Problems compiling NetCDF library > Organization: School of Geographical Sciences, University of Bristol. > Keywords: 200405251150.i4PBoStK000267 The above message contained the following: > I've been having problems compiling the NetCDF library. It fails at the > 'make' stage, and I'm really not sure how to solve the problem. > > I run configure with --prefix=/usr/netcdf-3.5.1 > > I have CC=gcc, CXX=g++, FC=ifort and FCC=ifort. The build procedure doesn't use the environment variable FCC. I assume, therefore, that you meant the environment variable F90. > The paths for these compilers are: > > /usr/local/bin/gcc > /usr/local/bin/g++ > /opt/intel_fc_80/bin/ifort > > The output of uname -a is: > > Linux linux 2.4.21-215-default #1 Tue Apr 27 01:00:43 UTC 2004 i686 i686 > i386 GNU/Linux > > The other diagnostics files are attached. > > I'd be grateful for any help you can give. The "make.log" file shows the following error (after reformatting): Making `all' in directory /home/ggicr/downloads/netcdf-3.5.1/src/fortran make[2]: Entering directory `/home/ggicr/downloads/netcdf-3.5.1/src/fortran' gcc -c -O -I../libsrc fort-attio.c In file included from ncfortran.h:13, from fort-attio.c:6: cfortran.h:134:3: #error "cfortran.h: Can't find your environment among: - MIPS cc and f77 2.0. (e.g. Silicon Graphics, DECstations, ...) - IBM AIX XL C and FORTRAN Compiler/6000 Version 01.01.0000.0000 - VAX VMS CC 3.1 and FORTRAN 5.4. - Alpha VMS DEC C 1.3 and DEC FORTRAN 6.0. - Alpha OSF DEC C and DEC Fortran for OSF/1 AXP Version 1.2 - Apollo DomainOS 10.2 (sys5.3) with f77 10.7 and cc 6.7. - CRAY - NEC SX-4 SUPER-UX - CONVEX - Sun - PowerStation Fortran with Visual C++ - HP9000s300/s700/s800 Latest test with: HP-UX A.08.07 A 9000/730 - LynxOS: cc or gcc with f2c. - VAXUltrix: vcc,cc or gcc with f2c. gcc or cc with f77. - f77 with vcc works; but missing link magic for f77 I/O. - NO fort. None of gcc, cc or vcc generate required names. - f2c : Use #define f2cFortran, or cc -Df2cFortran - NAG f90: Use #define NAGf90Fortran, or cc -DNAGf90Fortran - Absoft UNIX F77: Use #define AbsoftUNIXFortran or cc -DAbsoftUNIXFortran - Absoft Pro Fortran: Use #define AbsoftProFortran - Portland Group Fortran: Use #define pgiFortran" make[2]: *** [fort-attio.o] Error 1 make[2]: Leaving directory `/home/ggicr/downloads/netcdf-3.5.1/src/fortran' make[1]: *** [subdir_target] Error 1 make[1]: Leaving directory `/home/ggicr/downloads/netcdf-3.5.1/src' make: *** [fortran/all] Error 2 You need to define in the environment variable CPPFLAGS the C macro that tells the C compiler what Fortran calling-conventions to use when it compiles the C functions that constitute the Fortran interface. In your case, the C macro that needs to be defined is "pgiFortran". Please try the following: 1. Go to the top-level source-directory. 2. Perform steps 3 and 4 described at http://my.unidata.ucar.edu/content/software/netcdf/INSTALL.html#ReportingProblems 3. Set the following environment variables to the indicated values: CC=gcc CPPFLAGS="-DNDEBUG -DpgiFortran" CFLAGS=-O FC=ifort FLIBS=-Vaxlib FFLAGS="-O -mp -cm -w95" NOTES: A. How this is done will depend on your user-shell. B. The above settings are based on http://www.unidata.ucar.edu/packages/netcdf/other-builds.html#intel-ifc%203.5.1-beta13 4. Perform steps 6 through 9 described at http://my.unidata.ucar.edu/content/software/netcdf/INSTALL.html#ReportingProblems Please let me know if this helps. > Thanks very much, > > Ian Rutt > > ---------------------- > Dr Ian Rutt > School of Geographical Sciences, University of Bristol. > address@hidden Regards, Steve Emmerson > NOTE: All email exchanges with Unidata User Support are recorded in the > Unidata inquiry tracking system and then made publically available > through the web. If you do not want to have your interactions made > available in this way, you must let us know in each email you send to us.