[ncl-install] Compilation error in NclNetCdf.c

Mary Haley haley at ucar.edu
Thu May 26 14:08:54 MDT 2011


Hi Matthieu,

Sorry about the delay in response.

Wei Huang posted this response, but it didn't go through, so I'm posting it for him:

There's a quick fix for this (other than just using a enabled NetCDF-4 library, which we recommend).

edit NclNetCdf.c, and for each function:
NetAddVarChunk, NetAddVarChunkCache, NetSetVarCompressLevel

make them look like:

functype funcname(....)
{
	some declaration;

#ifdef USE_NETCDF4
.....
#endif

	return functype;
}

Which is make them a (near-)empty function.

After this change, you can re-compile again.


Thanks,

Wei

On May 25, 2011, at 1:29 AM, matthieu.lafaysse at ujf-grenoble.fr wrote:

> Hello,
> 
> I am trying to install ncl on a SUSE Linux 10 SP3 (x86_64).
> 
> As the available binaries do not work on this system, I am trying to
> compile from sources.
> 
> I compiled successfully netcdf without netcdf-4 support and without
> OPeNDAP support.
> 
> In the NCL configure script, I only ask for a Udunits-2 support and I
> answered no to all other questions :
> 
> Build NCL (y)?  : y
> Build cairo support (optional) into GKS library? n
> Build HDF-4 support (optional) into raster library? n
> Did you build HDF-4 with szip support? n
> Build Triangle support (optional) into NCL n
> If you are using NetCDF V4.x, did you enable NetCDF-4 support (y)? n Did
> you build NetCDF with OPeNDAP support (y)? n
> Build GDAL support (optional) into NCL? (n) n
> Build Udunits-2 support (optional) into NCL (y) y
> Build Vis5d+ support (optional) into NCL (y) n
> Build HDF-EOS2 support (optional) into NCL (y) n
> Build HDF-EOS5 support (optional) into NCL (y) n
> Build GRIB2 support (optional) into NCL (y) n
> 
> Although I did not ask for HDF-4 support, I have errors if I do not
> provide HDF 4 libraries.
> 
> If I provide netcdf and HDF 4 libraries, I have undefined references
> errors during ncl compilation :
> 
> NclNetCdf.o: dans la fonction « NetSetVarCompressLevel »:
> NclNetCdf.c:(.text+0x1748): référence indéfinie vers «
> nc_def_var_deflate »
> NclNetCdf.o: dans la fonction « NetAddVarChunkCache »:
> NclNetCdf.c:(.text+0x191b): référence indéfinie vers «
> nc_set_var_chunk_cache »
> NclNetCdf.o: dans la fonction « NetAddVarChunk »:
> NclNetCdf.c:(.text+0x1aa3): référence indéfinie vers «
> nc_def_var_chunking »
> 
> When I look for help on the web, it looks like netcdf-4 errors although I
> didn't ask for netcdf-4 support.
> 
> Is it normal ? Please could you help me to fix this problem ?
> 
> These errors occurred after the following command in the Makefile :
> 
> gcc -ansi -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -I/usr/local/include -O  -rdynamic   -o ncl Ncl.o io.o NclHLUObj.o
> scanner.o parser.o MathFuncs.o NclTypedouble.o NclTypefloat.o
> NclTypeint.o NclTypelogical.o NclTypelong.o NclTypeobj.o NclTypeshort.o
> NclTypestring.o NclTypeint64.o NclTypeuint64.o NclTypeubyte.o
> NclTypeushort.o NclTypeuint.o NclTypeulong.o NclTypebyte.o NclTypechar.o
> TypeSupport.o NclMultiDValData.o AddFileFormats.o AttSupport.o
> DataSupport.o FileSupport.o Formats.o GetGrids.o InitData.o Memory.o
> NclAtt.o NclCCM.o NclCoordVar.o NclData.o NclGroup.o NclFile.o
> NclFileVar.o NclGRIB.o NclMultiDValnclfileData.o NclNetCdf.o
> NclOneDValCoordData.o NclType.o NclTypelist.o NclVar.o VarSupport.o
> ctoiee.o date.o qu2reg3.o rowina3.o scm0.o ncepcode.o
> AddBuiltIns.o AddHLUObjs.o AddIntrinsics.o Execute.o Machine.o
> OpsFuncs.o Printtoken.o SrcTree.o Symbol.o Translate.o  NclHLUVar.o
> HLUSupport.o NclMultiDValHLUObjData.o BuiltInSupport.o BuiltInFuncs.o
> javaAddProto.o javaAddFuncs.o userAddProto.o userAddFuncs.o
> HLUFunctions.o yywrap.o craybin.o complete.o editline.o sysunix.o
> ListSupport.o NclList.o NclMultiDVallistData.o fortranio.o
> -L../../.././ni/src/lib/nfp -lnfp -L../../.././ni/src/lib/nfpfort
> -lnfpfort -L../../.././ni/src/lib/hlu -lhlu
> -L../../.././ncarg2d/src/libncarg -lncarg
> -L../../.././ncarg2d/src/libncarg_gks -lncarg_gks
> -L../../.././common/src/libncarg_c -lncarg_c -L../../.././ngmath/src/lib
> -lngmath -L/home/ciment/lafaysse/ncl/lib -L/usr/X11R6/lib64
> -L/usr/X11R6/lib -L/applis/ciment/stow/1/jpeg-6b/lib
> -L/applis/ciment/stow/1/zlib-1.2.5/lib
> -L/home/ciment/lafaysse/netcdf/lib
> -L/applis/ciment/stow/1/hdf5-1.8.4-patch1/lib
> -L/applis/ciment/stow/1/udunits-2.1.21/lib
> -L/applis/ciment/stow/1/libpng-1.5.1/lib
> -L/applis/ciment/stow/1/hdf-4.2.5/lib
> -L/applis/ciment/stow/1/szip-2.1/lib -lnetcdf        -ludunits2 -lexpat
> -lpng -lz  -L../../.././external/sphere3.1_dp -lsphere3.1_dp
> -L../../.././external/fftpack5_dp -lfftpack5_dp
> -L../../.././external/lapack -llapack_ncl -L../../.././external/blas
> -lblas_ncl -lX11 -lXext -lgfortran -lm  -ldl
> 
> Are netcdf-4 / hdf4 / hdf5 really optional ?
> I just need the basics of NCL (+ udunits functions) that's why I am trying
> to compile in the more simple way.
> 
> Thank you for your help,
> 
> Bests regards
> Matthieu Lafaysse
> 
> 
> 
> 
> _______________________________________________
> ncl-install mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-install



More information about the ncl-install mailing list