[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20000725: netcdf-perl build problem using perl 5.6: `na' undeclared
- Subject: 20000725: netcdf-perl build problem using perl 5.6: `na' undeclared
- Date: Tue, 25 Jul 2000 09:16:17 -0600
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