Subject: | XS ignorance between 1.17 -> 1.18 on AIX 5.3 |
I have a locally-built Perl 5.8.7 on AIX 5.3 ML2. I can build 1.17 and
it passes tests just fine and appears to configure for XS build. (GCC
which was used to build Perl is installed locally--no upgrades or
changes since.) 1.18 appears to build XS version, but 'make test'
produces the following output:
$ perl Makefile.PL
Writing Makefile for List::Util
$ make
gcc -c -D_THREAD_SAFE -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGE_FILES -O -DVERSION=\"1.18\"
-DXS_VERSION=\"1.18\"
"-I/usr/local/perl5/lib/5.8.7/aix-thread-multi/CORE" -DPERL_EXT Util.c
Running Mkbootstrap for List::Util ()
chmod 644 Util.bs
rm -f blib/arch/auto/List/Util/Util.so
gcc -Wl,-bhalt:4 -Wl,-bexpall -Wl,-G -Wl,-bnoentry -lpthreads -lc
-L/usr/local/lib Util.o -o blib/arch/auto/List/Util/Util.so \
\
chmod 755 blib/arch/auto/List/Util/Util.so
cp Util.bs blib/arch/auto/List/Util/Util.bs
chmod 644 blib/arch/auto/List/Util/Util.bs
Manifying blib/man3/List::Util.3
Manifying blib/man3/Scalar::Util.3
$ make test
PERL_DL_NONLAZY=1 /usr/local/perl5/bin/perl "-MExtUtils::Command::MM"
"-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
t/00version.....ok
t/blessed.......ok
t/dualvar.......skipped
all skipped: dualvar requires XS version
t/first.........ok
2/17 skipped: Poor man's MULTICALL can't cope
t/isvstring.....skipped
all skipped: isvstring requires XS version
t/lln...........ok
t/max...........ok
t/maxstr........ok
t/min...........ok
t/minstr........ok
t/openhan.......ok
t/p_blessed.....ok
t/p_first.......ok
t/p_lln.........ok
t/p_max.........ok
t/p_maxstr......ok
t/p_min.........ok
t/p_minstr......ok
t/p_openhan.....ok
t/p_readonly....ok
t/p_reduce......ok
t/p_refaddr.....ok
t/p_reftype.....ok
t/p_shuffle.....ok
t/p_sum.........ok
t/p_tainted.....ok
t/proto.........skipped
all skipped: set_prototype requires XS version
t/readonly......ok
t/reduce........ok
2/23 skipped: Poor man's MULTICALL can't cope
t/refaddr.......ok
t/reftype.......ok
t/shuffle.......ok
t/sum...........ok
t/tainted.......ok
t/weak..........skipped
all skipped: weaken requires XS version
All tests successful, 4 tests and 4 subtests skipped.
Files=35, Tests=327, 4 wallclock secs ( 3.21 cusr + 0.70 csys = 3.91 CPU)
Here's the output from building 1.17:
$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for List::Util
$ make
cp lib/List/Util.pm blib/lib/List/Util.pm
cp lib/Scalar/Util.pm blib/lib/Scalar/Util.pm
/usr/local/perl5/bin/perl -Iinc -e 'use ExtUtils::Mksymlists; \
Mksymlists("NAME" => "List::Util", "DL_FUNCS" => { }, "FUNCLIST" => [],
"DL_VARS" => []);'
/usr/local/perl5/bin/perl -Iinc
/usr/local/perl5/lib/5.8.7/ExtUtils/xsubpp -typemap
/usr/local/perl5/lib/5.8.7/ExtUtils/typemap Util.xs > Util.xsc && mv
Util.xsc Util.c
gcc -c -D_THREAD_SAFE -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGE_FILES -O -DVERSION=\"1.17\"
-DXS_VERSION=\"1.17\"
"-I/usr/local/perl5/lib/5.8.7/aix-thread-multi/CORE" -DPERL_EXT Util.c
Running Mkbootstrap for List::Util ()
chmod 644 Util.bs
rm -f blib/arch/auto/List/Util/Util.so
gcc -Wl,-bhalt:4 -Wl,-bexpall -Wl,-G -Wl,-bnoentry -lpthreads -lc
-L/usr/local/lib Util.o -o blib/arch/auto/List/Util/Util.so \
\
chmod 755 blib/arch/auto/List/Util/Util.so
cp Util.bs blib/arch/auto/List/Util/Util.bs
chmod 644 blib/arch/auto/List/Util/Util.bs
Manifying blib/man3/List::Util.3
Manifying blib/man3/Scalar::Util.3
$ make test
PERL_DL_NONLAZY=1 /usr/local/perl5/bin/perl "-MExtUtils::Command::MM"
"-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
t/00version.....ok
t/blessed.......ok
t/dualvar.......ok
t/first.........ok
t/isvstring.....ok
t/lln...........ok
t/max...........ok
t/maxstr........ok
t/min...........ok
t/minstr........ok
t/openhan.......ok
t/p_blessed.....ok
t/p_first.......ok
t/p_lln.........ok
t/p_max.........ok
t/p_maxstr......ok
t/p_min.........ok
t/p_minstr......ok
t/p_openhan.....ok
t/p_readonly....ok
t/p_reduce......ok
t/p_refaddr.....ok
t/p_reftype.....ok
t/p_shuffle.....ok
t/p_sum.........ok
t/p_tainted.....ok
t/proto.........ok
t/readonly......ok
t/reduce........ok
t/refaddr.......ok
t/reftype.......ok
t/shuffle.......ok
t/sum...........ok
t/tainted.......ok
t/weak..........ok
All tests successful.
Files=35, Tests=316, 4 wallclock secs ( 2.94 cusr + 0.69 csys = 3.63 CPU)
Here's my configuration:
$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
Platform:
osname=aix, osvers=5.3.0.0, archname=aix-thread-multi
uname='aix northstar 3 5 00ce23da4c00 unknown unknown aix '
config_args='-des -Dcc=gcc -Dusethreads -Dprefix=/usr/local/perl5
-Dmksymlinks'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_THREAD_SAFE -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGE_FILES',
optimize='-O',
cppflags='-D_THREAD_SAFE -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT
-fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.0.2', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -Wl,-brtl -Wl,-bdynamic
-Wl,-bmaxdata:0x80000000 -L/usr/local/lib -Wl,-b32'
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lbind -lnsl -lgdbm -ldbm -ldb -ldl -lld -lm -lcrypt -lpthreads
-lc -lbsd
perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc -lbsd
libc=/lib/libc.a, so=a, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Xlinker
-bE:/usr/local/perl5/lib/5.8.7/aix-thread-multi/CORE/perl.exp'
cccdlflags=' ', lddlflags=' -Wl,-bhalt:4 -Wl,-bexpall -Wl,-G
-Wl,-bnoentry -lpthreads -lc -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Built under aix
Compiled at Dec 13 2005 16:27:57
@INC:
/usr/local/perl5/lib/5.8.7/aix-thread-multi
/usr/local/perl5/lib/5.8.7
/usr/local/perl5/lib/site_perl/5.8.7/aix-thread-multi
/usr/local/perl5/lib/site_perl/5.8.7
/usr/local/perl5/lib/site_perl
.