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

Re: 19980914: netCDFPerl installation problem



Donald,

> To: address@hidden
> From: Donald Britton <address@hidden>
> Organization: NOAA
> Keywords: 199809140436.WAA27519

In the above message, you wrote:

>      I have successfully installed netCDF-3.4 on one of our hps, running 
>      hp-ux 10.20.  We are also using perl 5.003.  When trying to install 
>      the netCDFPerl package I get the following error:
>      
>      # make
>      
>      making `dynamic' in directory /usr/local/netcdf-perl-1.2/src/perl
>      
>      cc -c -I/usr/local/netcdf-3.4/include -D_HPUX_SOURCE -O 
>      -DVERSION=\"1.2\"  -DXS_VERSION=\"1.2\" 
>      -I/opt/perl-5.003/lib/PA-RISC1.1/5.003/CORE  NetCDF.c
>      cc: "/usr/local/netcdf-3.4/include/netcdf.h", line 195: error 1000: 
>      Unexpected symbol: "size_t".
>      cc: "/usr/local/netcdf-3.4/include/netcdf.h", line 196: error 1000: 
>      Unexpected symbol: "*".
>      .
>      .
>      .
>      .
>      etc.
>      
>      I don't know what to make of this. The stddef.h library is available 
>      in the /usr/include directory. 

And the file that's being compiled (perl/NetCDF.xs) includes the
header-file <stdlib.h> before including the header-file "netcdf.h", in
which the error occurs. <stdlib.h> is required by the C Standard to
define the type "size_t".  It looks like HP goofed on this one.

I would try modifying the file "perl/NetCDF.xs" -- changing the
"#include" statements and/or adding macro definitions -- until it
worked.  Look at <stdlib.h>, see what, if any, macro needs to be
defined in order for that header-file to define the type "size_t" --
then define that macro in "perl/NetCDF.xs".

--------
Steve Emmerson   <http://www.unidata.ucar.edu>