Re: [netcdfgroup] module PDL::NetCDF not on CPAN

  • To: "Bryan, David" <david.bryan@xxxxxxxx>
  • Subject: Re: [netcdfgroup] module PDL::NetCDF not on CPAN
  • From: Doug Hunt <dhunt@xxxxxxxx>
  • Date: Tue, 19 Apr 2011 08:58:07 -0600 (MDT)
Hi David:  This:

undefined symbol: __pgdbg_stub

seems to indicate that some Portland compiler symbols are still not linked in.

I did not know you were using Portland compilers. My full recipe for compiling netCDF with PG compilers is this:

if netcdf is to be installed in /ops/tools

./configure --prefix=/ops/tools FC=pgf90 \
CPPFLAGS="-DNDEBUG -DpgiFortran -fPIC" \
FFLAGS="-I/usr/include -I/ops/tools/include"
make

I think adding -DpgiFortran to the CPPFLAGS for the configure step in the netCDF compile might help.

Sorry for the hassle.  I'm CC'ing the netcdf mailing list in case anyone
on that list has any ideas.

Regards,

  Doug Hunt

dhunt@xxxxxxxx
Software Engineer
UCAR - COSMIC, Tel. (303) 497-2611

On Tue, 19 Apr 2011, Bryan, David wrote:

Doug,

Our admin guy recompiled NetCDF with -fPIC.  (Though there were some 
complications I'll describe below.)  The make step worked, but I ran into 
problem at the make test step.  The log from that is below.  After the log, 
I've got the description of the compilation.

Thanks,
David

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/01-Netcdf3.t .. 1/46
#   Failed test 'use PDL::NetCDF;'
#   at t/01-Netcdf3.t line 7.
#     Tried to use 'PDL::NetCDF'.
#     Error:  Can't load '/home/amec/PDL-NetCDF-4.08/blib/arch/auto/PDL/NetCDF/N
etCDF.so' for module PDL::NetCDF: /home/amec/PDL-NetCDF-4.08/blib/arch/auto/PDL/
NetCDF/NetCDF.so: undefined symbol: __pgdbg_stub at /usr/lib64/perl5/5.8.5/x86_6
4-linux-thread-multi/DynaLoader.pm line 230.
#  at (eval 39) line 2
# Compilation failed in require at (eval 39) line 2.
# BEGIN failed--compilation aborted at (eval 39) line 2.
Use of inherited AUTOLOAD for non-method PDL::NetCDF::nc_create() is deprecated
at /home/amec/PDL-NetCDF-4.08/blib/lib/PDL/NetCDF.pm line 1063.
Can't locate auto/PDL/NetCDF/nc_create.al in @INC (@INC contains: /home/amec/PDL
-NetCDF-4.08/blib/lib/5.8.5/x86_64-linux-thread-multi /home/amec/PDL-NetCDF-4.08
/blib/lib/5.8.5 /home/amec/PDL-NetCDF-4.08/blib/lib/x86_64-linux-thread-multi /h
ome/amec/PDL-NetCDF-4.08/blib/lib/5.8.4 /home/amec/PDL-NetCDF-4.08/blib/lib/5.8.
3 /home/amec/PDL-NetCDF-4.08/blib/lib/5.8.2 /home/amec/PDL-NetCDF-4.08/blib/lib/
5.8.1 /home/amec/PDL-NetCDF-4.08/blib/lib/5.8.0 /home/amec/PDL-NetCDF-4.08/blib/
lib /home/amec/PDL-NetCDF-4.08/blib/arch/5.8.5/x86_64-linux-thread-multi /home/a
mec/PDL-NetCDF-4.08/blib/arch/5.8.5 /home/amec/PDL-NetCDF-4.08/blib/arch/x86_64-
linux-thread-multi /home/amec/PDL-NetCDF-4.08/blib/arch/5.8.4 /home/amec/PDL-Net
CDF-4.08/blib/arch/5.8.3 /home/amec/PDL-NetCDF-4.08/blib/arch/5.8.2 /home/amec/P
DL-NetCDF-4.08/blib/arch/5.8.1 /home/amec/PDL-NetCDF-4.08/blib/arch/5.8.0 /home/
amec/PDL-NetCDF-4.08/blib/arch /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
/usr/lib/perl5/5.8.5 /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/perl5/site
_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.2/x86_64-li
nux-thread-multi /usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi /usr
/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/
5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/per
l5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread
-multi /usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/p
erl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.
8.2/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-th
read-multi /usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi /usr/lib
/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_
perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /us
r/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at /home/amec/PDL-Ne
tCDF-4.08/blib/lib/PDL/NetCDF.pm line 1063
# Looks like you planned 46 tests but ran 3.
# Looks like you failed 1 test of 3 run.
# Looks like your test exited with 2 just after 3.
t/01-Netcdf3.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 44/46 subtests
t/02-Netcdf4.t .. 1/20
#   Failed test 'use PDL::NetCDF;'
#   at t/02-Netcdf4.t line 8.
#     Tried to use 'PDL::NetCDF'.
#     Error:  Can't load '/home/amec/PDL-NetCDF-4.08/blib/arch/auto/PDL/NetCDF/N
etCDF.so' for module PDL::NetCDF: /home/amec/PDL-NetCDF-4.08/blib/arch/auto/PDL/
NetCDF/NetCDF.so: undefined symbol: __pgdbg_stub at /usr/lib64/perl5/5.8.5/x86_6
4-linux-thread-multi/DynaLoader.pm line 230.
#  at (eval 24) line 2
# Compilation failed in require at (eval 24) line 2.
# BEGIN failed--compilation aborted at (eval 24) line 2.
Bareword "PDL::NetCDF::isNetcdf4" not allowed while "strict subs" in use at t/02
-Netcdf4.t line 14.
Bareword "PDL::NetCDF::isNetcdf4" not allowed while "strict subs" in use at t/02
-Netcdf4.t line 13.
Execution of t/02-Netcdf4.t aborted due to compilation errors.
# Looks like you planned 20 tests but ran 1.
# Looks like you failed 1 test of 1 run.
# Looks like your test exited with 255 just after 1.
t/02-Netcdf4.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 20/20 subtests

Test Summary Report
-------------------
t/01-Netcdf3.t (Wstat: 512 Tests: 3 Failed: 1)
 Failed test:  2
 Non-zero exit status: 2
 Parse errors: Bad plan.  You planned 46 tests but ran 3.
t/02-Netcdf4.t (Wstat: 65280 Tests: 1 Failed: 1)
 Failed test:  1
 Non-zero exit status: 255
 Parse errors: Bad plan.  You planned 20 tests but ran 1.
Files=2, Tests=4,  0 wallclock secs ( 0.04 usr  0.01 sys +  0.48 cusr  0.06 
csys =  0.59 CPU)
Result: FAIL
Failed 2/2 test programs. 2/4 subtests failed.
make: *** [test_dynamic] Error 255




---->  Here's the compilation information:



I've done the following:
Moved previous "libnetcdf" files in /usr/local/lib to /usr/local/lib/BACKUP

Configuration/Compilation settings for NetCDF 4.1.1 
(/home/WRF/WRF_Source/netcdf-4.4.1)
   CC   pgcc
   FC   pgf90
   F77  pgf77
   F90  pgf90
   CPPFLAGS -DNDEBUG -fPIC

 ./configure --disable-netcdf-4  -disable-cxx

     Where   --disable-netcdf-4    -- Do not include HDF5 in compilation
             --disable-cxx         -- Do not compile C++ library

 make check install

     ... appears to work OK, except that one (1) of the tests in "make check" 
fails:
 *** Test: varm on URL: 
http://test.opendap.org/opendap/data/nc/coads_climatology
.nc
*** Testing: stride case 1
*** nc function failure: -33 NetCDF: Not a valid ID
FAIL: test_varm3
================================================
1 of 4 tests failed
Please report to support-netcdf@xxxxxxxxxxxxxxxx

  ... not sure what this test is...


Anyway, the following files are available in /home/WRF/WRF_Source/netcdf-4.1.1
    ./ncdump/ncdump
    ./ncgen/ncgen
    ./ncgen3/ncgen3

... and ...
    /usr/local/lib/libnetcdf.a
    /usr/local/lib/libnetcdf.la

... plus several other files under /home/WRF/WRF_Source/netcdf-4.1.1




________________________________________
From: Doug Hunt [dhunt@xxxxxxxx]
Sent: Monday, April 18, 2011 12:28 PM
To: Bryan, David
Subject: RE: module PDL::NetCDF not on CPAN

Hi David:  It looks like you are on a 64 bit Linux machine, but your
netcdf installation was not compiled with -fPIC.  This is a hassle.

For my local installation, I compile netcdf like this:

./configure --prefix=/where/to/install/netcdf \
CPPFLAGS="-DNDEBUG -fPIC"
make
make install

You may have to adapt your ./configure line according to your local
needs--the important thing is the -fPIC.

Regards,

  Doug

dhunt@xxxxxxxx
Software Engineer
UCAR - COSMIC, Tel. (303) 497-2611

On Mon, 18 Apr 2011, Bryan, David wrote:

Doug,

Thanks for the information.  Below you'll see the log from the make step.  Do 
you have any suggestions about this?

Thanks,
David

/usr/bin/perl -I/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi 
"-MPDL::PP qw/PDL::NetCDF PDL::NetCDF NetCDF/" netcdf.pd
cp NetCDF.pm blib/lib/PDL/NetCDF.pm
/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp  -typemap 
/usr/lib/perl5/5.8.5/ExtUtils/typemap -typemap 
/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/PDL/Core/typemap.pdl -typemap 
typemap  NetCDF.xs > NetCDF.xsc && mv NetCDF.xsc NetCDF.c
gcc -c  -I/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/PDL/Core -I/usr/local/include/ 
-Dbool=int -g -O2 -g -pipe -m64   -DVERSION=\"4.08\" -DXS_VERSION=\"4.08\" -fPIC 
"-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE"   NetCDF.c
In file included from 
/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/perl.h:1813,
                from NetCDF.xs:6:
/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/handy.h:85:1: warning: 
"bool" redefined
<command line>:1:1: warning: this is the location of the previous definition
Running Mkbootstrap for PDL::NetCDF ()
chmod 644 NetCDF.bs
rm -f blib/arch/auto/PDL/NetCDF/NetCDF.so
gcc  -shared NetCDF.o   -o blib/arch/auto/PDL/NetCDF/NetCDF.so  \
  -L/usr/local/lib/ -lnetcdf   \

/usr/bin/ld: /usr/local/lib//libnetcdf.a(attr.o): relocation R_X86_64_32S 
against `a local symbol' can not be used when making a shared object; recompile 
with -fPIC
/usr/local/lib//libnetcdf.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/PDL/NetCDF/NetCDF.so] Error 1

________________________________________
From: Doug Hunt [dhunt@xxxxxxxx]
Sent: Friday, April 15, 2011 7:04 PM
To: Bryan, David
Cc: rt-cpan-admin@xxxxxxxxxxxxxxxxx
Subject: Re: module PDL::NetCDF not on CPAN

Hi David:  I've been having problems getting PDL::NetCDF indexed on CPAN
for a while now, and don't know how to fix them.

For the moment, you can just download the

http://search.cpan.org/CPAN/authors/id/D/DH/DHUNT/PDL-NetCDF-4.08.tar.gz

tarball and then:

tar -xvzf PDL-NetCDF-4.08.tar.gz
cd PDL-NetCDF-4.08
export NETCDF_LIBDIR=/where/netcdf/libs/are
export NETCDF_INCDIR=/where/netcdf/include/files/are
perl Makefile.PL
make
make test
make install

Regards,

  Doug

dhunt@xxxxxxxx
Software Engineer
UCAR - COSMIC, Tel. (303) 497-2611

On Fri, 15 Apr 2011, Bryan, David wrote:


Iʼve tried installing PDL::NetCDF module with CPAN but I get the message that 
itʼs not available from CPAN.  Can you address
this?



Thanks,

David Bryan

Wind Modeler

AMEC Earth and Environmental

133 Crosbie Rd

St. John's, NL  A1B 4A5

Canada

709-724-1929 ext. 321

fax:  709-722-7353




_______________________________________________________________________________________________________________________________
The information contained in this e-mail is intended only for the individual or 
entity to whom it is addressed.
Its contents (including any attachments) may contain confidential and/or 
privileged information.
If you are not an intended recipient you must not use, disclose, disseminate, 
copy or print its contents.
If you receive this e-mail in error, please notify the sender by reply e-mail 
and delete and destroy the message.



The information contained in this e-mail is intended only for the individual or 
entity to whom it is addressed.
Its contents (including any attachments) may contain confidential and/or 
privileged information.
If you are not an intended recipient you must not use, disclose, disseminate, 
copy or print its contents.
If you receive this e-mail in error, please notify the sender by reply e-mail 
and delete and destroy the message.


The information contained in this e-mail is intended only for the individual or 
entity to whom it is addressed.
Its contents (including any attachments) may contain confidential and/or 
privileged information.
If you are not an intended recipient you must not use, disclose, disseminate, 
copy or print its contents.
If you receive this e-mail in error, please notify the sender by reply e-mail 
and delete and destroy the message.
  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: