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.
Shulan liu, > To: address@hidden > From: Shulan Liu <address@hidden> > Subject: netcdf compiling error on Itanium2/Linux > Organization: University of Nevada-Reno/DRI > Keywords: netCDF Linux Itanium2 The above message contained the following: > I tried to compile netcdf-3.5.0 on SGI Altix3700, which is a > Itanium2 machine with Linux installed. I tried to use > intel compiler 7.0, including both C and Fortran compiler: ecc, efc. > I attached the make.log file in the attachment. Please help. > > Thank you, > > Shulan > Desert Research Institute ... > Making `all' in directory /home1/shulan/netCDF/netcdf-3.5.0/src/fortran > > make[2]: Entering directory `/home1/shulan/netCDF/netcdf-3.5.0/src/fortra= > n' > gcc -c -O -I../libsrc -DNDEBUG 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 -DAbsoftUNIXFo= > rtran - Absoft Pro Fortran: Use #define AbsoftProFortran - Portla= > nd Group Fortran: Use #define pgiFortran" ... The problem is that the C compiler doesn't know what Fortran compiler you're using and so doesn't know what argument-passing conventions to use when compiling the C functions of the Fortran interface. The solution is to tell the C compiler what conventions to use by defining a certain C macro in the CPPFLAGS environment variable before executing the configure script. Unfortunately, we don't have access to a Linux, Itanium 2 system with an Intel Fortran compiler, so I'll have to guess the appropriate settings. Please try the following: 1. Go to the top-level source-directory. 2. Perform steps 3 through 5 described near the end of the file INSTALL.html. 3. Ensure that the CPPFLAGS environment variable defines the C macro "DpgiFortran", e.g., export CPPFLAGS=-DpgiFortran or setenv CPPFLAGS -DpgiFortran depending on your user-shell. An example of this can be found at http://my.unidata.ucar.edu/content/software/netcdf/other-builds.html#intel-ifc 4. Perform steps 6 through 9 described near the end of the file INSTALL.html. Alternatively, you could post an inquiry to the netCDF mailing-list -- someone out there might have solved the same problem. Please let me know what you discover. Regards, Steve Emmerson