This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Rob, [Sorry for taking so long to respond. We had to install perl 5.6 on our systems in order to reproduce your problem.] > From: Rob Cermak <address@hidden> > Subject: netcdfperl 1.2. installation problem > Organization: Rutgers > Keywords: 200007191256.e6JCu3T00248 netCDF Perl The above message contained the following: > I have a repeat of the problem reported in the support email (20000329 > from Patrick O'Leary. I followed the suggestions in that email > and the variables still come up with "na" instead of Perl_na. > > Any suggestions? > > [root@wx root]# perl -V > Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration: ... > [root@wx src]# make > cd perl && /usr/local/bin/perl Makefile.PL > Checking if your kit is complete... > Looks good > Writing Makefile for NetCDF > make[1]: Entering directory `/data/src/hdf/netcdf-perl-1.2/src' > make[2]: Entering directory `/data/src/hdf/netcdf-perl-1.2/src' > > making `dynamic' in directory /data/src/hdf/netcdf-perl-1.2/src/perl > > make[3]: Entering directory `/data/src/hdf/netcdf-perl-1.2/src/perl' > /usr/local/bin/perl -I/usr/local/lib/perl5/5.6.0/sun4-solaris > -I/usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/5.6.0/ExtUtils/xsubpp > -typemap /usr/local/lib/perl5/5.6.0/ExtUtils/typemap NetCDF.xs > > NetCDF.xsc && mv NetCDF.xsc NetCDF.c > Please specify prototyping behavior for NetCDF.xs (see perlxs manual) > cc -c -I/usr/local/netcdf/include -fno-strict-aliasing > -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O > -DVERSION=\"1.2\" -DXS_VERSION=\"1.2\" -fPIC > -I/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE NetCDF.c > NetCDF.xs: In function `pv_data': > NetCDF.xs:823: `na' undeclared (first use in this function) > NetCDF.xs:823: (Each undeclared identifier is reported only once > NetCDF.xs:823: for each function it appears in.) > NetCDF.xs: In function `XS_NetCDF_attput': > NetCDF.xs:2251: `na' undeclared (first use in this function) ... The netcdf-perl package is a perl extension module and it looks like the rules for writing them have recently changed. Fortunately, the perl package has a backward-compatibility option, which we'll use until I can port the netcdf-perl code itself. Try the following: 1. Go to the top-level, netcdf-perl source directory. 2. Execute the command "make distclean". 3. Replace the file "Makefile.in" with the enclosed version. 4. Proceed with building and installing the netcdf-perl package as before (i.e. execute "configure", "make", etc.). Please let me know if this helps. Regards, Steve Emmerson <http://www.unidata.ucar.edu> --------Replacement "Makefile.in" # $Id: Makefile.in,v 1.9 1999/01/12 22:40:15 steve Exp $ .POSIX: PACKAGE = netcdf-perl perl = @PERL@ perl_srcdir = @PERL_SRCDIR@ SUBDIRS = port SUBDIR_TARGETS = \ perl/dynamic perl/perl \ perl/test \ perl/install perl/inst_perl \ perl/clean perl/realclean PERL_MANDIR = @PERL_MANDIR@ MANUALS = netCDFPerl.1 MANIFEST = \ COPYRIGHT \ CUSTOMIZE \ HISTORY \ INSTALL \ Makefile.in \ README \ VERSION \ aclocal.m4 \ configure \ configure.in \ perl/MANIFEST \ perl/Makefile.PL.in \ perl/NetCDF.pm \ perl/NetCDF.xs \ perl/test.pl \ netCDFPerl.1 GARBAGE = *.nc all: @$(MAKE) $(MFLAGS) decision \ DYNAMIC_GOAL=perl/dynamic STATIC_GOAL=perl/perl test ! -f perl/so_locations || chmod a+w perl/so_locations test: @case `uname -s` in \ ULTRIX) \ $(MAKE) $(MFLAGS) perl/perl; \ perl/perl -I perl perl/test.pl; \ ;; \ *) \ $(MAKE) $(MFLAGS) perl/test; \ ;; \ esac install: FORCE @$(MAKE) $(MFLAGS) decision \ DYNAMIC_GOAL=perl/install STATIC_GOAL=perl/inst_perl $(MAKE) $(MFLAGS) installed_manuals MANDIR=$(PERL_MANDIR) clean: perl/clean rm -f perl/perl realclean: perl/clean rm -f perl/perl perl/dynamic \ perl/perl \ perl/test \ perl/install \ perl/inst_perl \ perl/clean \ perl/realclean: perl/Makefile perl/Makefile: perl/Makefile.PL cd perl && $(perl) Makefile.PL POLLUTE=1 decision: FORCE @case `uname -s` in \ ULTRIX) \ $(MAKE) $(MFLAGS) $(STATIC_GOAL); \ ;; \ *) \ $(MAKE) $(MFLAGS) $(DYNAMIC_GOAL); \ ;; \ esac perl/perl: FORCE include port/master.mk