Problem with some Fortran compilers using --disable-v2

Mark Hadfield m.hadfield at niwa.co.nz
Thu Mar 29 17:15:27 MDT 2007


Hello folks

I imagine the following is of little interest to most of the netCDF 
community, but perhaps this warning will help some poor lost soul in the 
future...

The --disable-v2 flag was introduced into the netCDF configure script at 
3.6.2-beta3. It suppresses the building of the netCDF-2 API. However it 
causes a problem for some Fortran compilers. The problem arises because 
netcdf.inc contains declarations for version 2 functions: nccre, ncopn, 
etc (see the section beginning at line 1113, entitled "begin netcdf 2.4 
backward compatibility". However these functions do not appear in the 
library when --disable-v2 has been used.

So, any time netcdf.inc is included in a Fortran source file there will 
be declarations for version-2 functions that are (presumably) not 
referenced in the executable code. Some compilers (g77, gfortran) ignore 
them, but other compilers (g95, Cray f90) insert entries in the object 
file indicating that these functions are undefined and need to be 
supplied during linking. With the latter compilers, the linker will give 
an error.

This is essentially the same compiler-dependent problem that occurred 
when a declaration for nf_set_log_level (a netCDF-4 function) was added 
by mistake to netcdf.inc in 3.6.2 beta6 or thereabouts.

The solution is pretty obvious: remove the offending lines from 
netcdf.inc. At the moment, netcdf.inc is not modified during the netCDF 
build process. so you'll need to do that yourself.

-- 
Mark Hadfield          "Ka puwaha te tai nei, Hoea tahi tatou"
m.hadfield at niwa.co.nz
National Institute for Water and Atmospheric Research (NIWA)



==============================================================================
To unsubscribe netcdfgroup, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================



More information about the netcdfgroup mailing list