[ncl-install] sd_nc* undefined references

Rick Grubin grubin at ucar.edu
Wed Mar 5 09:36:08 MST 2008


Hi Jeff

> I'm getting undefined references to `sd_nc*' errors when attempting  
> to build NCL 5.0.0 on a RHEL3 system.  HDF4 was compiled with -- 
> enable-netcdf turned on.  Can anyone tell me where the references  
> can be found, and/or what I might have done incorrectly?

Building HDF4 with its implementation of netCDF enabled causes  
problems for NCL, as NCL requires the HDF build to specifically not  
create
and include its own netCDF implementation into its libraries.  The  
INSTALL file in the HDF source distribution notes:

4. Using HDF/MFHDF libraries with original netCDF library
    ======================================================

    To use the HDF/MFHDF libraries (libdf.a, libmfhdf.a) with the
    original netCDF library (libnetcdf.a), the HDF4 distribution
    must be configured with the --disable-netcdf configuration flag.
    This will rename the HDF version of the C-interface (ncxxx) of
    the netCDF API to sd_ncxxx and disbale NC Fortran interfaces to
    avoid clashing with the original netCDF C and Fortran APIs from
    libnetcdf.a.

With HDF built enabling its own netCDF implementation, the HDF  
libraries will not have its interfaces renamed as above, and NCL  
source code
will not find the function signatures it requires to use HDF  
functionality.

The NCL web documentation notes how to build HDF in ways (depending  
on the version of HDF source code you have) that are palatable
to NCL.  Please see:

http://www.ncl.ucar.edu/Download/build_from_src.shtml#HDF-4
http://www.ncl.ucar.edu/Download/BuildingNCL.shtml

Building/installing HDF as noted in the above documentation should  
take care of the undefined references noted below.

> NclHDF.o(.text+0x5d): In function `HDFGetAttrVal':: undefined  
> reference to `sd_ncattget'
> [...]

----	
Rick Grubin      NCAR/TDD/CISL/VETS
Visualization + Enabling Technologies
grubin at ucar.edu             303.497.1832




More information about the ncl-install mailing list