develooper Front page | perl.beginners | Postings from January 2002

PGPLOT module compile problem

Thread Next
From:
zentara
Date:
January 8, 2002 03:30
Subject:
PGPLOT module compile problem
Message ID:
ddik3ug0l5kp41jjuo27dq3b3n41lvt6j9@4ax.com
Hi, there is a nice perl package, called PDL, which uses PGPLOT.pm

I have PDL running, but I only get the Trio output. The PGPLOT output
isn't working.

Has anyone installed the PGPLOT perl module, and sucessfully
run the tests?   I can compile it fine but it chokes when I run the tests.
I have communicated with the author, and he has come to the conclusion
that my library somehow was compiled improperly.  BUT  the pgplot (c program)
demos all run fine, with the same compiler  and library.
I recently upgraded to gcc 3.0.3 from the 2.95 that came with suse7.2, it
compiled the c pgplot fine, but the perl PGPLOT fails to run.
##############################################################
The author has done some tests with me on this, and the fundamental
problem stems from these results:

On his working machine, when he does
 nm /usr/lib/libcpgplot.a | grep -i cpgdraw
he gets

cpgdraw.o:
00000004 T cpgdraw

when I do it  I  only get

cpgdraw.o
##############################################################

Below is the author's requested debugging info. The only error was during the
make, where it asks to provide a "prototyping behavior for PGPLOT.s"



perl Makefile.pl
#########################################################
Loaded ExtUtils::F77 version 1.14
Found compiler g77
ExtUtils::F77: Using system=Linux compiler=G77
Checking for gcc in disguise:
Compiler is gcc version 2.95.3 20010315 (SuSE)
Runtime: -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.3 -L/usr/lib -lg2c -lm
-L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.3 -lgcc
ExtUtils::F77: Validating -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.3
-L/usr/lib -lg2c -lm -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.3 -lgcc
[ok]
ExtUtils::F77: Compiler: g77
ExtUtils::F77: Cflags: -O
Checking if your kit is complete...
Looks good
Writing Makefile for PGPLOT
#############################################################
############################################################
make
###########################################################
mkdir blib
mkdir blib/lib
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/PGPLOT
mkdir blib/lib/auto
mkdir blib/lib/auto/PGPLOT
mkdir blib/man3
cp PGPLOT.pm blib/lib/PGPLOT.pm
/usr/bin/perl -I/usr/lib/perl5/5.6.0/i586-linux -I/usr/lib/perl5/5.6.0
/usr/lib/perl5/5.6.0/ExtUtils/xsubpp  -typemap
/usr/lib/perl5/5.6.0/ExtUtils/typemap -typemap typemap PGPLOT.xs > PGPLOT.xsc &&
mv PGPLOT.xsc PGPLOT.c
Please specify prototyping behavior for PGPLOT.xs (see perlxs manual)
cc -c -I/home/aaossm/kgb/soft/pgplot/bld -I/usr/local/pgplot
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -pipe     -DVERSION=\"2.18\" -DXS_VERSION=\"2.18\"
-fpic -I/usr/lib/perl5/5.6.0/i586-linux/CORE  PGPLOT.c
Running Mkbootstrap for PGPLOT ()
chmod 644 PGPLOT.bs
LD_RUN_PATH="/usr/local/pgplot:/usr/X11/lib:/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.3:/usr/lib"
cc -o blib/arch/auto/PGPLOT/PGPLOT.so  -shared -L/usr/local/lib PGPLOT.o
-L/usr/local/pgplot -L/usr/local/lib -lcpgplot -lpgplot -L/usr/openwin/lib
-L/usr/X11/lib -L/usr/X11R6/lib -lX11
-L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.3 -L/usr/lib -lg2c -lm
-L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.3 -lgcc 
chmod 755 blib/arch/auto/PGPLOT/PGPLOT.so
cp PGPLOT.bs blib/arch/auto/PGPLOT/PGPLOT.bs
chmod 644 blib/arch/auto/PGPLOT/PGPLOT.bs
Manifying blib/man3/PGPLOT.3pm
###############################################################
#################################################################
perl -Mblib test.pl
#################################################################
Using /home/zentara/perlmodules/PGPLOT-2.18/blib
============== Running test1.p ==============
Can't load
'/home/zentara/perlmodules/PGPLOT-2.18/blib/arch/auto/PGPLOT/PGPLOT.so' for
module PGPLOT:
/home/zentara/perlmodules/PGPLOT-2.18/blib/arch/auto/PGPLOT/PGPLOT.so: undefined
symbol: cpgdraw at /usr/lib/perl5/5.6.0/i586-linux/DynaLoader.pm line 200.
 at test1.p line 3
 Compilation failed in require at test1.p line 3.
 BEGIN failed--compilation aborted at test1.p line 3.
 ============== Running test2.p ==============
Testing advanced point and line plot routines...
PGPLOT module version 2.18
Can't locate auto/PGPLOT/pgqinf.al in @INC (@INC contains:
/home/zentara/perlmodules/PGPLOT-2.18/blib/arch
/home/zentara/perlmodules/PGPLOT-2.18/blib/lib /home/zentara/perllib
/usr/lib/perl5/5.6.0/i586-linux /usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i586-linux /usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl .) at test2.p line 9
 ============== Running test3.p ==============
...........
...... these tests go on about 10 times all with the same error
(deleted for brevity)
They all complain about "Can't locate auto/PGPLOT/pgqinf.al in @INC "



-- 
$|=1;while(1){print pack("h*",'75861647f302d4560275f6272797f3');sleep(1);
for(1..16){for(8,32,8,7){print chr($_);}select(undef,undef,undef,.05);}}



Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About