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

Re: 20051114: netcdf-perl-1.2.3



Mark,

> To: Unidata Support <address@hidden>
> From: Mark Seefeldt <address@hidden>
> Subject: netcdf-perl-1.2.3
> Organization: CU
> Keywords: 200511142253.jAEMrl7s029910 netCDF-Perl

The above message contained the following:

> I am working on the installation of netcdf-perl-1.2.3.  I thought I was 
> getting close to being successful, then it snagged towards the end.  I 
> received an error in the "make test" step.  I have included as much as I 
> can below:
> 
> A.
> [seefeldm@foehn src]$ uname -a
> Linux foehn 2.6.9-22.EL #1 Mon Sep 19 18:20:28 EDT 2005 i686 i686 i386 
> GNU/Linux
> 
> (RedHat Enterprise Linux - Workstation - 4)
> 
> B. VERSION:  1.2.3
> 
> C.
> [seefeldm@foehn src]$ which gcc
> /usr/bin/gcc
> 
> (I am not certain of this step.  The Perl was installed as a part of the 
> RHEL distribution, and the netcdf was built using the default 
> configuration.)
> 
> D. configure.log:
> loading cache ./config.cache
> checking for manual-page index command...
> checking for perl... (cached) perl
> checking for perl manual page directory...
> checking for value of perl POLLUTE variable... 0
> checking for neqn... (cached) neqn
> checking for tbl... (cached) tbl
> checking for c89... (cached) c89
> checking type of operating system... linux
> checking for tar flags... -chof
> checking for netCDF header-file... -I
> checking for netCDF library...
> checking for package version... 1.2
> 
> ./configure: ERROR: The following variables need values:
> 
> VARIABLE     DESCRIPTION                EXAMPLE
> --------     -------                    -------
> PERL_MANDIR  perl manual directory      /usr/local/man
> CPP_NETCDF   netCDF header              -I/usr/local/unidata/include
> LD_NETCDF    netCDF library             -L/usr/local/unidata/lib -lnetcdf
> 
> For each variable above, this script will now request that you input
> a value appropriate for your system (note that this value will not
> be interpolated by a shell -- so don't use shell substitutions).
> Alternatively, you can interrupt this script, set the above variables
> in the environment or in the file CUSTOMIZE, and then re-execute this
> script.  (Variables referring to executable programs needn't be set if
> the relevant directory is added to PATH.  See file INSTALL for details.)
> 
> Enter a value for the perl manual directory (e.g. "/usr/local/man"):
> /usr/share/man
> 
> Enter a value for the netCDF header (e.g. "-I/usr/local/unidata/include"):
> -I/usr/local/include
> 
> Enter a value for the netCDF library (e.g. "-L/usr/local/unidata/lib 
> -lnetcdf"):-L/usr/local/lib

You forgot to add "-lnetcdf" to the above reply.  The "make test" failed
because the reference to the netCDF variable "ncopts" couldn't be
satisfied:

[snip]
> making `test' in directory /usr/local/netcdf-perl-1.2.3/src/perl
> 
> make[2]: Entering directory `/usr/local/netcdf-perl-1.2.3/src/perl'
> cp NetCDF.pm blib/lib/NetCDF.pm
> AutoSplitting blib/lib/NetCDF.pm (blib/lib/auto/NetCDF)
> PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
> Can't load 'blib/arch/auto/NetCDF/NetCDF.so' for module NetCDF: 
> blib/arch/auto/NetCDF/NetCDF.so: undefined symbol: ncopts at 
> /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230.
>   at test.pl line 5
> Compilation failed in require at test.pl line 5.
> BEGIN failed--compilation aborted at test.pl line 5.
> make[2]: *** [test_dynamic] Error 255
> make[2]: Leaving directory `/usr/local/netcdf-perl-1.2.3/src/perl'
> make[1]: *** [perl/test] Error 1
> make[1]: Leaving directory `/usr/local/netcdf-perl-1.2.3/src'
> make: *** [test] Error 2

Please try the following:

    1.  Go to the top-level source-directory.

    2.  Execute the command "make distclean".

    3.  Set the following environment variables to the indicated values:

            PERL_MANDIR  /usr/share/man
            CPP_NETCDF   -I/usr/local/include
            LD_NETCDF    -L/usr/local/lib -lnetcdf

    4.  Execute the configure(1) script.  Redirect both the standard
        output and error streams to the file "configure.log".

    5.  Execute the command "make".  Redirect both the standard
        output and error streams to the file "make.log".

    6.  Execute the command "make test".  Redirect both the standard
        output and error streams to the file "test.log".

    7.  Execute the command "make install".  Redirect both the standard
        output and error streams to the file "install.log".

If a step in 4 through 7 fails, then send me its log file and the log
files of the previous steps.

Regards,
Steve Emmerson

> NOTE: All email exchanges with Unidata User Support are recorded in the
> Unidata inquiry tracking system and then made publicly available
> through the web.  If you do not want to have your interactions made
> available in this way, you must let us know in each email you send to us.