Scott Zak on Fri, 13 Sep 2002 13:30:17 -0400


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

Math::PARI.pm test fails on Tru64 with "Unaligned access" errors.


I'm trying to install Math::Pari-2.010305, pari-2.1.4 with perl version
5.6.1on Compaq Tru64 Unix v4.0F as a prerequisite to some Crypt-* modules
(no gnuplot necessary here).  I am running into some problems with
voluminous "Unaligned access" errors when I run 'make test'.  Perl was
built locally from source using Tru64's cc.

Except for warnings from plotgnuplot.c  and an uninitialized "dummy"
variable in Pari.xs, 'make' runs clean.  The error messages look like this:

Unaligned access pid=29270 <perl> va=0x1404c6d04 pc=0x300000bc434
ra=0x300000bd734 inst=0xa4100000

I don't think that there is anything unusual about the perl installation --
mostly vanilla -- and it has a clean history to date.  No users have
reported problems with perl previously.  I haven't been able to pick out
the cause of the problem.

Can someone lend me a clue on how to get 'make test' working?  Perl
configuration, and output from Makefile.PL/make/make test follow below:

Thanks for your attention.

Scott Zak
CSU System Office
Hartford, CT 06105

myhost: /usr/local/src/Perl/Math/Math-Pari-2.010305# cat install.log
######################################
###
###  perl configuration
###
######################################

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
    osname=dec_osf, osvers=4.0, archname=alpha-dec_osf
    uname='osf1 myhost.ctstateu.edu v4.0 1229 alpha '
    config_args='-Dprefix=/usr/opt/perl -Uinstallusrbinperl -des'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
  Compiler:
    cc='cc', ccflags ='-std -fprm d -ieee -D_INTRINSICS
-I/usr/local/include -DLANGUAGE_C',
    optimize='-O4',
    cppflags='-std -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C'
    ccversion='V5.9-011', gccversion='', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc
/usr/lib /var/shlib
    libs=-ldbm -ldb -lm -liconv -lutil
    perllibs=-lm -liconv -lutil
    libc=/usr/shlib/libc.so, so=so, useshrplib=true, libperl=libperl.so
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,
-rpath,/usr/opt/perl/lib/5.6.1/alpha-dec_osf/CORE'
    cccdlflags=' ', lddlflags='-shared -expect_unresolved "*" -O4 -msym
-std -s -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES
  Built under dec_osf
  Compiled at May  1 2002 12:43:37
  @INC:
    /usr/opt/perl/lib/5.6.1/alpha-dec_osf
    /usr/opt/perl/lib/5.6.1
    /usr/opt/perl/lib/site_perl/5.6.1/alpha-dec_osf
    /usr/opt/perl/lib/site_perl/5.6.1
    /usr/opt/perl/lib/site_perl
    .
######################################
###
###  perl Makefile.PL
###
######################################

Found GP/PARI build directory in ./pari-2.1.4
     (integer-formatted version 2001004).
...Generating libPARI/paricfg.h ...
Scanning header files...
...ulong
...getrusage
Creating libPARI/paricfg.h...
Problems with numeric interface codes noted:
  May be harmless: non-unique string interfaces for numeric interfaces:
    29 meaning "GGp GG GGD0,L,p"
  Possible problems with Math::Pari interface to GP/PARI:
        unexpected value of string interfaces for numeric interfaces:
    29 meaning "GGp GG GGD0,L,p" (was meaning "GGp" in 2.1.3)
Checking if your kit is complete...
Looks good
...Processor of family `alpha' detected
...I will use assembler build of type 'alpha'.
Writing Makefile for Math::PARI::libPARI
Writing Makefile for Math::Pari


######################################
###
###  make
###
######################################


cp libPARI.pod blib/lib/Math/libPARI.pod
cp PariInit.pm blib/lib/Math/PariInit.pm
cp Pari.pm blib/lib/Math/Pari.pm
cp libPARI.dumb.pod blib/lib/Math/libPARI.dumb.pod
cd libPARI && make LIB="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX
="/usr/opt/perl" OPTIMIZE="-O4"
/usr/bin/perl -pe1 .././pari-2.1.4/src/kernel/none/asm0.h
.././pari-2.1.4/src/kernel/none/level1.h > pariinl.h
cc -c -I.././pari-2.1.4/src/headers -I.././pari-2.1.4/src/graph -I. -std
-fprm d -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C -O4
-DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"  -Derr=pari_err -DLONG_IS_64BIT
-DDYNAMIC_PLOTTING -o alglin2.o .././pari-2.1.4/src/basemath/alglin2.c
.
.
.
cc -c -I.././pari-2.1.4/src/headers -I.././pari-2.1.4/src/graph -I. -std
-fprm d -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C -O4
-DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"  -Derr=pari_err -DLONG_IS_64BIT
-DDYNAMIC_PLOTTING -o plotgnuplot.o .././pari-2.1.4/src/graph/plotgnuplot.c
cc: Warning: .././pari-2.1.4/src/graph/Gnuplot.h, line 433: Non-void
function "myterm_table_not_loaded_di" does not contain a return statement.
(missingreturn)
static double
^
cc: Warning: .././pari-2.1.4/src/graph/Gnuplot.h, line 655: Non-void
function "StartOutput" does not contain a return statement. (missingreturn)
int
^
cc: Warning: .././pari-2.1.4/src/graph/Gnuplot.h, line 658: Non-void
function "EndOutput" does not contain a return statement. (missingreturn)
int
^
cc -c -I.././pari-2.1.4/src/headers -I.././pari-2.1.4/src/graph -I. -std
-fprm d -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C -O4
-DVERSION=\"0.10\"  -DXS_VERSION=\"0.10\"  -Derr=pari_err -DLONG_IS_64BIT
-DDYNAMIC_PLOTTING -o elliptic.o .././pari-2.1.4/src/modules/elliptic.c
.
.
.
.
rm -f libPARI.a
ar  cr libPARI.a alglin2.o gen1.o thue.o galois.o highlvl.o subgroup.o
gen2.o gen3.o mpqs.o galconj.o trans1.o trans2.o compat.o trans3.o base1.o
ifactor1.o base2.o base3.o plotport.o base4.o base5.o buch1.o buch2.o
buch3.o bibli1.o buch4.o bibli2.o helpmsg.o init.o es.o rootpol.o anal.o
errmsg.o polarit1.o polarit2.o polarit3.o stark.o arith1.o arith2.o
nffactor.o kummer.o sumiter.o plotgnuplot.o elliptic.o subfield.o alglin1.o
kernel.o mp.o mpinl.o
: libPARI.a
/usr/bin/perl -I/usr/opt/perl/lib/5.6.1/alpha-dec_osf
-I/usr/opt/perl/lib/5.6.1 /usr/opt/perl/lib/5.6.1/ExtUtils/xsubpp  -typemap
/usr/opt/perl/lib/5.6.1/ExtUtils/typemap -typemap typemap Pari.xs >
Pari.xsc && mv Pari.xsc Pari.c
cc -c -I./pari-2.1.4/src/headers -I./pari-2.1.4/src -I./libPARI -std -fprm
d -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C -O4    -DVERSION
=\"2.010305\"  -DXS_VERSION=\"2.010305\"
-I/usr/opt/perl/lib/5.6.1/alpha-dec_osf/CORE -DPARI_VERSION_EXP=2001004
-DDEBUG_PARI -DLSB_in_U32=0 -Derr=pari_err Pari.c
cc: Warning: Pari.xs, line 995: The scalar variable "dummy" is fetched but
not initialized. (uninit1)
                   ((char*)&(dummy->sv_flags) - ((char*)dummy)));
-----------------------------^
Running Mkbootstrap for Math::Pari ()
chmod 644 Pari.bs
ar cr tmp.a Pari.o
: tmp.a
rm -f blib/arch/auto/Math/Pari/Pari.so
LD_RUN_PATH="/usr/shlib" ld  -shared -expect_unresolved "*" -O4 -msym -std
-s -L/usr/local/lib -all tmp.a -none  -o blib/arch/auto/Math/Pari/Pari.so
libPARI/libPARI.a  -lm
chmod 755 blib/arch/auto/Math/Pari/Pari.so
cp Pari.bs blib/arch/auto/Math/Pari/Pari.bs
chmod 644 blib/arch/auto/Math/Pari/Pari.bs
Manifying blib/man3/Math::libPARI.3
Manifying blib/man3/Math::PariInit.3
Manifying blib/man3/Math::Pari.3
Manifying blib/man3/Math::libPARI.dumb.3


######################################
###
###  make test
###
######################################

cd libPARI && make LIB="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX
="/usr/opt/perl" OPTIMIZE="-O4"
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib
-I/usr/opt/perl/lib/5.6.1/alpha-dec_osf -I/usr/opt/perl/lib/5.6.1 -e 'use
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/Pari........PARI:   ***   forbidden assignment t_INT --> t_SMALL. at
t/Pari.t line 34.
dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 7-108
        Failed 102/108 tests, 5.56% okay
t/PlotRect....# Can't locate Term/Gnuplot.pm in @INC, ignoring the test
skipped
        all skipped: no reason given
t/analyz......

Followed by thousands of lines of this:

Unaligned access pid=29270 <perl> va=0x1404c6d04 pc=0x300000aae40
ra=0x300000aae30 inst=0xb40a0000
Unaligned access pid=29270 <perl> va=0x1404c6d0c pc=0x300000aae48
ra=0x300000aae30 inst=0xb5ea0008
Unaligned access pid=29270 <perl> va=0x1404c6d04 pc=0x300000bc434
ra=0x300000bd734 inst=0xa4100000
Unaligned access pid=29270 <perl> va=0x1404c6d44 pc=0x300000bc4ac
ra=0x300000bd734 inst=0xa4310000

myhost: /usr/local/src/Perl/Math/Math-Pari-2.010305#