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

20040304: building netCDF library using Intel "ifort" 8.0 compiler



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