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

[netCDF #QVK-623215]: Problem compiling netCDF.pm



Joe,

> I re-made the netCDF library using -fPIC by setting CFLAGS in my
> environment (e.g., export CFLAGS="-fPIC") before I ran the ./configure
> script for said library.  This seemed to go well.
> 
> Now we're back at the netCDF.pm step.  We got a little farther but
> failed at the "make test" step.
> 
> A-F haven't changed; here are G and H:
> 
> (G) make.log:
> make[1]: Entering directory `/tmp/netcdf-perl-1.2.4/src'
> make[2]: Entering directory `/tmp/netcdf-perl-1.2.4/src'
> 
> making `dynamic' in directory /tmp/netcdf-perl-1.2.4/src/perl
> 
> make[3]: Entering directory `/tmp/netcdf-perl-1.2.4/src/perl'
> /usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap
> /usr/lib/perl5/5.8.8/ExtUtils/typemap  NetCDF.xs > NetCDF.xsc && mv
> NetCDF.xsc NetCDF.c
> Please specify prototyping behavior for NetCDF.xs (see perlxs manual)
> gcc -c  -I/usr/local/include -D_REENTRANT -D_GNU_SOURCE
> -fno-strict-aliasing -pipe -Wdeclaration-after-statement
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
> -mtune=generic   -DVERSION=\"1.2.4\" -DXS_VERSION=\"1.2.4\" -fPIC
> "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   NetCDF.c
> Running Mkbootstrap for NetCDF ()
> chmod 644 NetCDF.bs
> rm -f blib/arch/auto/NetCDF/NetCDF.so
> gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic NetCDF.o
> -o blib/arch/auto/NetCDF/NetCDF.so  \
> -L/usr/local/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 `/tmp/netcdf-perl-1.2.4/src/perl'
> 
> returning to directory /tmp/netcdf-perl-1.2.4/src
> 
> make[2]: Leaving directory `/tmp/netcdf-perl-1.2.4/src'
> make[1]: Leaving directory `/tmp/netcdf-perl-1.2.4/src'
> test ! -f perl/so_locations || chmod a+w perl/so_locations
> 
> 
> (H) test.log:
> 
> make[1]: Entering directory `/tmp/netcdf-perl-1.2.4/src'
> 
> making `test' in directory /tmp/netcdf-perl-1.2.4/src/perl
> 
> make[2]: Entering directory `/tmp/netcdf-perl-1.2.4/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: curl_easy_getinfo at
> /usr/lib64/perl5/5.8.8/x86_64-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 2
> make[2]: Leaving directory `/tmp/netcdf-perl-1.2.4/src/perl'
> make[1]: *** [perl/test] Error 1
> make[1]: Leaving directory `/tmp/netcdf-perl-1.2.4/src'
> make: *** [test] Error 2

The symbol "curl_easy_getinfo" is part of the "libcurl" library, which is used 
by the OpenDAP library. If the "libcurl" library exists on your system, then 
add its parent directory to the LD_LIBRARY_PATH environment variable and try 
the "make test" again. Otherwise, you'll have to install that library via, for 
example, the command "yum install libcurl".

> Thanks in advance,  --Joe

Regards,
Steve Emmerson

Ticket Details
===================
Ticket ID: QVK-623215
Department: Support netCDF Perl
Priority: Normal
Status: Closed