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.
Mateus, > I'm trying to install netCDFPerl in my system but something is going > wrong, so I send to you what is asked in SUPPORT section of INSTALL file. > > Thanks for your help. > > Mateus > > > A. uname -a > > Linux beagle.dea.inpe.br 2.6.10-1.771_FC2 #1 Mon Mar 28 00:50:14 EST > 2005 i686 athlon i386 GNU/Linux > > B. contents of file VERSION > > 1.2.3 > > C. which cc > > /usr/bin/cc > > D. contents of the "configure.log" > > expanding `include's in file `Makefile' > expanding `include's in file `perl/Makefile.PL' > expanding `include's in file `port/master.mk' > expanding `include's in file `port/Makefile' > checking for value of perl POLLUTE variable... 0 > checking for neqn... neqn > checking for tbl... tbl > checking for C compiler... cc > checking type of operating system... linux > checking for tar flags... -chof > checking for netCDF header-file... -I/usr/local/netCDF-3.6.0/include > checking for netCDF library... -L/usr/local/netCDF-3.6.0/lib -lnetcdf > checking for package version... 1.2 > updating cache ./config.cache > creating ./config.status > creating Makefile > creating perl/Makefile.PL > creating port/master.mk > creating port/Makefile > > E. contents of the "config.log" > > This file contains any messages produced by compilers while > running configure, to aid debugging if configure makes a mistake. > > configure:635: checking for manual-page index command > configure:686: checking for perl utility > configure:694: checking for perl manual page directory > configure:712: checking for value of perl POLLUTE variable > configure:759: checking for neqn > configure:791: checking for tbl > configure:1132: checking for C compiler > configure:1186: checking type of operating system > configure:1263: checking for tar flags > configure:1279: checking for netCDF header-file > configure:1306: checking for netCDF library > configure:1335: checking for package version > > F. contents of the "makefile.log" > > cd perl && /usr/bin/perl5.8.3 Makefile.PL POLLUTE=0 > Checking if your kit is complete... > Looks good > Writing Makefile for NetCDF > > G. contents of the "make.log" > > Please specify prototyping behavior for NetCDF.xs (see perlxs manual) > c' > make[2]: Entering directory `/home/mateus/install/netcdf-perl-1.2.3/src' > > making `dynamic' in directory > /home/mateus/install/netcdf-perl-1.2.3/src/perl > > make[3]: Entering directory > `/home/mateus/install/netcdf-perl-1.2.3/src/perl' > /usr/bin/perl5.8.3 /usr/lib/perl5/5.8.3/ExtUtils/xsubpp -typemap > /usr/lib/perl5/5.8.3/ExtUtils/typemap NetCDF.xs > NetCDF.xsc && mv N > etCDF.xsc NetCDF.c > gcc -c -I/usr/local/netCDF-3.6.0/include -D_REENTRANT -D_GNU_SOURCE > -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/ > include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm > -O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"1.2.3\" -DXS_V > ERSION=\"1.2.3\" -fPIC > "-I/usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE" NetCDF.c > Running Mkbootstrap for NetCDF () > chmod 644 NetCDF.bs > rm -f blib/arch/auto/NetCDF/NetCDF.so > gcc -shared -L/usr/local/lib NetCDF.o -o > blib/arch/auto/NetCDF/NetCDF.so -L/usr/local/netCDF-3.6.0/lib -lnetcdf > chmod 755 blib/arch/auto/NetCDF/NetCDF.so > cp NetCDF.bs blib/arch/auto/NetCDF/NetCDF.bs > chmod 644 blib/arch/auto/NetCDF/NetCDF.bs > make[3]: Leaving directory `/home/mateus/install/netcdf-perl-1.2.3/src/perl' > > returning to directory /home/mateus/install/netcdf-perl-1.2.3/src > > make[2]: Leaving directory `/home/mateus/install/netcdf-perl-1.2.3/src' > make[1]: Leaving directory `/home/mateus/install/netcdf-perl-1.2.3/src' > test ! -f perl/so_locations || chmod a+w perl/so_locations > > H. contents of the "test.log" > > Can't load 'blib/arch/auto/NetCDF/NetCDF.so' for module NetCDF: > blib/arch/auto/NetCDF/NetCDF.so: undefined symbol: __mth_i_kcmp at /usr > /lib/perl5/5.8.3/i386-linux-thread-multi/DynaLoader.pm line 229. > 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] Erro 255 > make[1]: ** [perl/test] Erro 1 > make: ** [test] Erro 2 > ory `/home/mateus/install/netcdf-perl-1.2.3/src/perl' > make[1]: Leaving directory `/home/mateus/install/netcdf-perl-1.2.3/src' It appears that the netCDF-Perl package built correctly but that it can't be used because it can't find a referenced symbol at run- time. It could be that the environment used to build either the netCDF-Perl module or the netCDF library is incompatible with the environment used to build the perl(1) utility. In general, they all must be the same environment. What is the output of the command "perl -V"? How does that environment differ from the environment used to build the netCDF package and the netCDF-Perl package? Regards, Steve Emmerson Ticket Details =================== Ticket ID: RPN-585546 Department: Support netCDF Perl Priority: Normal Status: Closed