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.
Hernan, > To: <address@hidden> > From: "Hernan G. Arango" <address@hidden> > Subject: Problem building NetCDF library with Intel "ifort" 8.0 compiler > Organization: UCAR/Unidata > Keywords: 200403031657.i23GvurV004025 The above message contained the following: > I am having problems building the NetCDF library version 3.5.1 with > both Intel "ifort" 8.0 compiler and PGI "pgf90" 5.1-3 compiler. > It fails in the "make test" step. It passes all the nc_* library tests > but it fails in all the nf_* tests. A typical error is: > > test_get.o(.text+0x26): In function `test_nf_get_var1_text_': > : undefined reference to `nf_open_' > > I get hundreds of similar errors. > > When I type "uname -a" on my desktop I get the following: > > Linux hernan 2.4.22-10mdkenterprise #1 SMP Thu Sep 18 11:46:49 CEST 2003 > i686 > unknown unknown GNU/Linux. > > The VERSION file contains the following line: > > 3.5.1 You should be able to successfully build the netCDF package on your system using either the pgf90 or ifort(1) compilers: others have done so. > Attached you may find all the log files associated with "ifort" > compiler: ... > Making `all' in directory /home/arango/Software/netcdf-3.5.1/src/fortran=0A= > =0A= > make[2]: Entering directory = > `/home/arango/Software/netcdf-3.5.1/src/fortran'=0A= > icc -c -O -mp -I../libsrc -DNDEBUG fort-attio.c=0A= > icc -c -O -mp -I../libsrc -DNDEBUG fort-control.c=0A= > icc -c -O -mp -I../libsrc -DNDEBUG fort-dim.c=0A= ... The above indicates that the configure script was not told what Fortran-calling-C conventions to use. This is consistent with your problem. Because the conventions for the ifort(1) compiler as the same as for the pgf90(1) compiler, the C macro "pgiFortran" must be defined. 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 relevant environment variables. Execute the commands export CC=gcc export CPPFLAGS="-DNDEBUG -DpgiFortran" export CFLAGS=-O export FC=ifort export F90=ifort export FLIBS="-Vaxlib" export FFLAGS="-O -mp -dynamic-libcxa -cm -w95" or setenv CC gcc setenv CPPFLAGS "-DNDEBUG -DpgiFortran" setenv CFLAGS -O setenv FC ifort setenv F90 ifort setenv FLIBS "-Vaxlib" setenv FFLAGS "-O -mp -dynamic-libcxa -cm -w95" depending on your user-shell. 4. Perform steps 6 and 9 described at http://my.unidata.ucar.edu/content/software/netcdf/INSTALL.html#ReportingProblems Please let me know if this helps. Regards, Steve Emmerson