NclHDF.c and compile on ia64

From: Ted Mansell <ted.mansell_at_nyahnyahspammersnyahnyah>
Date: Thu, 09 Oct 2008 11:09:38 -0500

Hello,

I had to compile ncl-ncarg on an SGI Altix (Itanium2/ia64) in order to
get netcdf4 support (apparently not included in the pre-compiled
binaries). In the LINUX.IA64 config file, I had to add an explicit -L/
path for the -lifcore to work correctly:

#define CtoFLibraries -lm -L/opt/intel/fc/10.1.013/lib -lifcore

Otherwise, icc did not seem to find the lib, although it didn't
complain about not finding the lib, just not finding the particular
routine (for_cpystr). (I'm using the Intel Fortran and C compilers.)

I also ran into the NclHDF.c problem noted on the Troubleshooting
section of build-from-source web page. I removed the #include <hdf/
netcdf.h> line because the netcdf.h file does not exist there (I
suppose a flag could be used to turn it off?), but still had the
problem with undefined MAX_VAR_DIMS etc. Including netcdf.h farther
up did fix the MAX_VAR_DIMS problem, and the code compiled, but it
then complained that all the sd_ncXXXX functions were implicitly
declared, which didn't seem like a good thing.

The problem with including netcdf.h is that it defines _NETCDF_ so
that things don't get defined properly in hdf4_netcdf.h. I have
hdf4.2r3 installed, and there's a flag, H4_HAVE_NETCDF, that seems to
mean the *opposite* of the old HAVE_NETCDF flag. I think there is a
bug in hlimits.h, line 195, where

#ifdef H4_HAVE_NETCDF

should be

#ifndef H4_HAVE_NETCDF

and then the MAX_NC_* variables will get defined and NclHDF.c compiles
without complaints.

Another note: I did have to get the old flex-2.5.3. It would core
dump when compiled with gcc -O2, but worked with icc -O0 -g. (So gcc -
O0 might work, but I stopped trying things after getting it to work.)

Best,

-- Ted
_______________________________________________
ncl-install mailing list
ncl-install_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-install
Received on Thu Oct 09 2008 - 10:09:38 MDT

This archive was generated by hypermail 2.2.0 : Fri Oct 10 2008 - 11:24:05 MDT