Installing Perl Modules on AIX

risc427

Limp Gawd
Joined
Sep 30, 2002
Messages
351
One more for you guys. :) Any chance you can help me figure out why the 'make test' on 'Math::pari' is failing?

# make test
cd libPARI && make LIB="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFI
X="/usr/opt/perl5" OPTIMIZE="-O"
Target "makemakerdflt" is up to date.
gcc -c -I../pari-2.1.5/src/headers -I../pari-2.1.5/src -I./libPARI -D_AL
L_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -q32 -D_LARGE_FILES -ql
onglong -O -DVERSION=\"2.010500\" -DXS_VERSION=\"2.010500\" -I/usr/opt/pe
rl5/lib/5.6.0/aix/CORE -DPARI_VERSION_EXP=2001005 -DDEBUG_PARI -DLSB_in_U32=3 -D
err=pari_err Pari.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
LD_RUN_PATH="/lib" ld -o blib/arch/auto/Math/Pari/Pari.so -bhalt:4 -bM:
SRE -bI:/usr/opt/perl5/lib/5.6.0/aix/CORE/perl.exp -bE:pari.exp -b noentry -lC -
lc Pari.o libPARI/libPARI.a -lm
chmod 755 blib/arch/auto/Math/Pari/Pari.so
Target "all" is up to date.
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/opt/perl5/
lib/5.6.0/aix -I/usr/opt/perl5/lib/5.6.0 -e 'use Test::Harness qw(&runtests $ver
bose); $verbose=0; runtests @ARGV;' t/*.t
t/Pari........FAILED test 109
Failed 1/127 tests, 99.21% okay
t/PlotRect....# Can't locate Term/Gnuplot.pm in @INC, ignoring the test
skipped
all skipped: Can't locate Term/Gnuplot.pm in @INC
t/analyz......ok
t/elliptic....ok
t/graph.......# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting
t/graph.......ok
1/28 skipped: plot() - can't test it yet
t/linear......ok
t/nfields.....ok 23/161PARI: *** Warning: insufficient precision for fundame
ntal units, not given.
t/nfields.....ok 156/161PARI: *** Warning: not a fundamental discriminant in
quadclassunit.
t/nfields.....ok
t/number......ok
t/objets......ok
1/62 skipped: test producing error unsupported yet (impossible inverse m
odulo: Mod(131, 49649).)
t/ploth.......# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting
t/ploth.......ok
10/34 skipped: various reasons
t/polyser.....ok
t/program.....ok
13/37 skipped: various reasons
t/sumiter.....ok
t/trans.......ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/Pari.t 127 1 0.79% 109
1 test and 25 subtests skipped.
Failed 1/14 test scripts, 92.86% okay. 1/823 subtests failed, 99.88% okay.
make: The error code from the last command is 11.


Stop.

TIA
 

t/PlotRect....# Can't locate Term/Gnuplot.pm in @INC, ignoring the test

Gnuplot.pm isn't in the include path for your Perl install. At least, it can't find it.

Perhaps try installing the Gnuplot perl module first?
 
My reason for not tyring to install gnuplot first is that the test failed before it got to that point. (or so it seems) Anyway, I tried installing the gnuplot module, but without much luck.

# make
mkdir blib
mkdir blib/lib
mkdir blib/lib/Term
cp GnuplotTerminals.pod blib/lib/Term/GnuplotTerminals.pod
cp extract_help.pl blib/lib/Term/extract_help.pl
cp Gnuplot.pm blib/lib/Term/Gnuplot.pm
cd ./gnuterm; make libgnuterm.a LIB="" LIBPERL_A="libperl.a" LINKTYPE="d
ynamic" PREFIX="/usr/opt/perl5" OPTIMIZE="-O"
gcc -c -I. -Iterm -Igd -I.. -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOUR
CE -qmaxmem=16384 -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.10\" -DX
S_VERSION=\"0.10\" -I/usr/opt/perl5/lib/5.6.0/aix/CORE -DRETSIGTYPE=void -DPIPE
S -DX11 -DHAVE_UNISTD_H -DHAVE_STRING_H -DHAVE_TERMIOS_H -DHAVE_VALUES_H -DHAVE_
STRERROR -DANSI_C -DHAVE_STRNCASECMP term.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
gcc -c -I. -Iterm -Igd -I.. -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOUR
CE -qmaxmem=16384 -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.10\" -DX
S_VERSION=\"0.10\" -I/usr/opt/perl5/lib/5.6.0/aix/CORE -DRETSIGTYPE=void -DPIPE
S -DX11 -DHAVE_UNISTD_H -DHAVE_STRING_H -DHAVE_TERMIOS_H -DHAVE_VALUES_H -DHAVE_
STRERROR -DANSI_C -DHAVE_STRNCASECMP util.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
gcc -c -I. -Iterm -Igd -I.. -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOUR
CE -qmaxmem=16384 -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.10\" -DX
S_VERSION=\"0.10\" -I/usr/opt/perl5/lib/5.6.0/aix/CORE -DRETSIGTYPE=void -DPIPE
S -DX11 -DHAVE_UNISTD_H -DHAVE_STRING_H -DHAVE_TERMIOS_H -DHAVE_VALUES_H -DHAVE_
STRERROR -DANSI_C -DHAVE_STRNCASECMP version.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
gcc -c -I. -Iterm -Igd -I.. -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOUR
CE -qmaxmem=16384 -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.10\" -DX
S_VERSION=\"0.10\" -I/usr/opt/perl5/lib/5.6.0/aix/CORE -DRETSIGTYPE=void -DPIPE
S -DX11 -DHAVE_UNISTD_H -DHAVE_STRING_H -DHAVE_TERMIOS_H -DHAVE_VALUES_H -DHAVE_
STRERROR -DANSI_C -DHAVE_STRNCASECMP bitmap.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
gcc -c -I. -Iterm -Igd -I.. -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOUR
CE -qmaxmem=16384 -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.10\" -DX
S_VERSION=\"0.10\" -I/usr/opt/perl5/lib/5.6.0/aix/CORE -DRETSIGTYPE=void -DPIPE
S -DX11 -DHAVE_UNISTD_H -DHAVE_STRING_H -DHAVE_TERMIOS_H -DHAVE_VALUES_H -DHAVE_
STRERROR -DANSI_C -DHAVE_STRNCASECMP stdfn.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
gcc -c -I. -Iterm -Igd -I.. -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOUR
CE -qmaxmem=16384 -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.10\" -DX
S_VERSION=\"0.10\" -I/usr/opt/perl5/lib/5.6.0/aix/CORE -DRETSIGTYPE=void -DPIPE
S -DX11 -DHAVE_UNISTD_H -DHAVE_STRING_H -DHAVE_TERMIOS_H -DHAVE_VALUES_H -DHAVE_
STRERROR -DANSI_C -DHAVE_STRNCASECMP shim_gnuplot.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
ar cr libgnuterm.a term.o util.o version.o bitmap.o stdfn.o shim_gnuplo
t.o
: libgnuterm.a
/usr/bin/perl "-I/usr/opt/perl5/lib/5.6.0/aix" "-I/usr/opt/perl5/lib/5.6
.0" -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" => "Term::Gnuplot", "DL_FUN
CS" => { }, "FUNCLIST" => [q[get_term_ftable], q[boot_Term__Gnuplot]], "DL_VARS
" => []);'
/usr/bin/perl -I/usr/opt/perl5/lib/5.6.0/aix -I/usr/opt/perl5/lib/5.6.0
/usr/opt/perl5/lib/5.6.0/ExtUtils/xsubpp -typemap /usr/opt/perl5/lib/5.6.0/ExtU
tils/typemap Gnuplot.xs > Gnuplot.xsc && mv Gnuplot.xsc Gnuplot.c
Please specify prototyping behavior for Gnuplot.xs (see perlxs manual)
gcc -c -I./gnuterm -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxm
em=16384 -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"0.5704\" -DXS_VERSI
ON=\"0.5704\" -I/usr/opt/perl5/lib/5.6.0/aix/CORE Gnuplot.c
gcc: unrecognized option `-qmaxmem=16384'
gcc: unrecognized option `-q32'
gcc: unrecognized option `-qlonglong'
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Term
mkdir blib/arch/auto/Term/Gnuplot
Running Mkbootstrap for Term::Gnuplot ()
chmod 644 Gnuplot.bs
LD_RUN_PATH="/lib" ld -o blib/arch/auto/Term/Gnuplot/Gnuplot.so -bhalt:
4 -bM:SRE -bI:/usr/opt/perl5/lib/5.6.0/aix/CORE/perl.exp -bE:Gnuplot.exp -b noen
try -lC -lc Gnuplot.o ./gnuterm/libgnuterm.a -lX11 -lm -lz
ld: 0711-317 ERROR: Undefined symbol: .__eprintf
ld: 0711-317 ERROR: Undefined symbol: .__fixsfsi
ld: 0711-317 ERROR: Undefined symbol: .__fixunssfsi
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: The error code from the last command is 8.
 

LD_RUN_PATH="/lib" ld -o blib/arch/auto/Term/Gnuplot/Gnuplot.so -bhalt:
4 -bM:SRE -bI:/usr/opt/perl5/lib/5.6.0/aix/CORE/perl.exp -bE:Gnuplot.exp -b noentry -lC -lc Gnuplot.o ./gnuterm/libgnuterm.a -lX11 -lm -lz
ld: 0711-317 ERROR: Undefined symbol: .__eprintf
ld: 0711-317 ERROR: Undefined symbol: .__fixsfsi
ld: 0711-317 ERROR: Undefined symbol: .__fixunssfsi
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: The error code from the last command is 8.

Looks like libgnuterm.a is missing a few symbols (or it's the X11 lib, math lib, or zlib that are, but that's doubtful).

Weird.

Either way, it's not necessary, per se.

You see, the test just called for the gnuplot.pm, which is a perl script, which you can manually add to your @INC. Check out search.cpan.org and grab a copy, put it in your @INC.

Even better, just ignore it. Since you don't have gnuplot, you won't be using it, and thus won't be relying on that functionality.
 
I tried just dropping Gnuplot.pm into my @INC, but that caused more errors with Math::pari. I'm not sure what the deal is, but it looks like I have to build Gnuplot.

The reason all this began is that I need to install Crypt::OpenPGP. OpenPGP said it required Math::pari, which in turn looked for Term::Gnuplot. What is strange to me is that the test box I have doesn't have Pari or Gnuplot installed, but Crypt::OpenPGP is there and working fine.

Any other suggestions you can offer are much appreciated. Thanks again for all of your help.
 
Originally posted by Oopsz
Have you tried installing it using CPAN?

Good idea.

perl -MCPAN -e shell

then

install math::pari

...and it'll grab all its dependencies along the way.
 
Yup, I've tried CPAN. Part of the problem is that the default compiler on the box is cc. gcc is installed, but all the modules by default try to compile with cc, which presents a problem in itself.

I'm not sure what the problem is. The build of Math::pari doesn't seem to be failing because of a dependency. I don't know, I'll keep trying stuff. Thanks again for the help.
 
make a symlink called 'cc' that points to gcc and make sure it's towards the front of your path. problem solved.
 
You could also try setting the CPAN make_arg to "CC=gcc", or adding it to make_arg if something's already there. To do that, either start up a CPAN shell and do "o conf init", which will wipe your current configuration, or just manually change the line in ~/.cpan/CPAN/MyConfig.pm. If you do the former, you'll be interested in the prompt along the lines of "arguments to make".

That'll just make CPAN run "make CC=gcc" instead of plain "make", which should do the trick.
 
Well I set CPAN to use gcc and still no luck. Either way I build it (CPAN or manually) the make test fails every time. Here's the output...

.
.
.

LD_RUN_PATH="/lib" ld -o blib/arch/auto/Math/Pari/Pari.so -bhalt:4 -bM:
SRE -bI:/usr/opt/perl5/lib/5.6.0/aix/CORE/perl.exp -bE:pari.exp -b noentry -lC -
lc Pari.o libPARI/libPARI.a -lm
chmod 755 blib/arch/auto/Math/Pari/Pari.so
Target "all" is up to date.
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/opt/perl5/
lib/5.6.0/aix -I/usr/opt/perl5/lib/5.6.0 -e 'use Test::Harness qw(&runtests $ver
bose); $verbose=0; runtests @ARGV;' t/*.t
t/Pari........FAILED test 109
Failed 1/127 tests, 99.21% okay
t/PlotRect....Press ENTER

t/PlotRect....ok
t/analyz......ok
t/elliptic....ok
t/graph.......ok
1/28 skipped: plot() - can't test it yet
t/linear......ok
t/nfields.....ok 23/161PARI: *** Warning: insufficient precision for fundame
ntal units, not given.
t/nfields.....ok 156/161PARI: *** Warning: not a fundamental discriminant in
quadclassunit.
t/nfields.....ok
t/number......ok
t/objets......ok
1/62 skipped: test producing error unsupported yet (impossible inverse m
odulo: Mod(131, 49649).)
t/ploth.......ok
2/34 skipped: various reasons
t/polyser.....ok
t/program.....ok
13/37 skipped: various reasons
t/sumiter.....ok
t/trans.......ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/Pari.t 127 1 0.79% 109
17 subtests skipped.
Failed 1/14 test scripts, 92.86% okay. 1/824 subtests failed, 99.88% okay.
make: The error code from the last command is 11.


Stop.
 
You might want to try doing "force install Math::pari". It looks like only 1 of 824 tests actually failed, so it could just be a bug in that test related to your particular version of AIX. "force" should install it even if the tests fail. Maybe send a bug report to the maintainer.
 
Back
Top