NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.


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

[netCDF #KWT-441277]: netcdf-4.1.3 and inter fortran compiler



Hi Pat,

> I have problems in compiling a fortran code by using netcdf libraries:
> 
> My Fortran compiler is: intel64-10.0.026
> I do the following:
> 
> 1. Compiling netcdf-4.1.3 version:
> setenv F77 ifort
> setenv F90 ifort
> 
> ./configure --prefix=/home/laux-p/netcdf413_ifort --disable-netcdf-4 
> --disable-dap-remote-tests
> 
> make check install
> 
> >> everything works well. Then I tried to compile and link a fortran code as 
> >> follows:
> 
> ifort simple_xy_rd1.f90 -I${NETCDF_IFORT_PATH}/include 
> -L${NETCDF_IFORT_PATH}/lib -lnetcdf -o simple_xy_rd1
> 
> >> the warning is:
> 
> /tmp/ifortt75E58.o: In function `MAIN__':
> simple_xy_rd1.f90:(.text+0x146): undefined reference to `netcdf_mp_nf90_open_'
> simple_xy_rd1.f90:(.text+0x1d1): undefined reference to 
> `netcdf_mp_nf90_inquire_'
> simple_xy_rd1.f90:(.text+0x24b): undefined reference to 
> `netcdf_mp_nf90_inq_varid_'
> simple_xy_rd1.f90:(.text+0x27b): undefined reference to 
> `netcdf_mp_nf90_inq_varid_'
> simple_xy_rd1.f90:(.text+0x365): undefined reference to 
> `netcdf_mp_nf90_get_var_1d_fourbytereal_'
> simple_xy_rd1.f90:(.text+0x405): undefined reference to 
> `netcdf_mp_nf90_get_var_1d_fourbytereal_'
> simple_xy_rd1.f90:(.text+0x4c9): undefined reference to 
> `netcdf_mp_nf90_inq_varid_'
> simple_xy_rd1.f90:(.text+0x504): undefined reference to 
> `netcdf_mp_nf90_get_var_2d_fourbytereal_'
> simple_xy_rd1.f90:(.text+0x62c): undefined reference to 
> `netcdf_mp_nf90_get_att_text_'
> simple_xy_rd1.f90:(.text+0x66c): undefined reference to 
> `netcdf_mp_nf90_inquire_attribute_'
> simple_xy_rd1.f90:(.text+0x6a8): undefined reference to 
> `netcdf_mp_nf90_get_att_text_'
> simple_xy_rd1.f90:(.text+0x6e8): undefined reference to 
> `netcdf_mp_nf90_inquire_attribute_'
> simple_xy_rd1.f90:(.text+0x706): undefined reference to 
> `netcdf_mp_nf90_close_'
> simple_xy_rd1.f90:(.text+0x784): undefined reference to 
> `netcdf_mp_nf90_strerror_'
> simple_xy_rd1.f90:(.text+0x834): undefined reference to 
> `netcdf_mp_nf90_strerror_'
> simple_xy_rd1.f90:(.text+0x8e4): undefined reference to 
> `netcdf_mp_nf90_strerror_'
> simple_xy_rd1.f90:(.text+0x994): undefined reference to 
> `netcdf_mp_nf90_strerror_'
> simple_xy_rd1.f90:(.text+0xa41): undefined reference to 
> `netcdf_mp_nf90_strerror_'
> /tmp/ifortt75E58.o:simple_xy_rd1.f90:(.text+0xb1a): more undefined references 
> to `netcdf_mp_nf90_strerror_' follow

With version 4.1.3 and later releases, the Fortran library is no longer combined
with the C library, so you need to specify both when linking, as in

  ifort simple_xy_rd1.f90 -I${NETCDF_IFORT_PATH}/include 
-L${NETCDF_IFORT_PATH}/lib -lnetcdff -lnetcdf -o simple_xy_rd1

You can tell if you need this extra "-lnetcdff" argument by looking in the 
${NETCDF_IFORT_PATH}/lib
directory to see if there are extra libraries there for fortran, all of which 
contain the string
"libnetcdff".

--Russ

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: KWT-441277
Department: Support netCDF
Priority: Normal
Status: Closed