Subject: | Test Fails in 03 as "undefined value as a symbol reference" |
I am running AIX 4.3.3 ML-11+Post on a RS/6000-42W (a PPC-604e w/128MB
ECC RAM), my perl is 5.10.0-aix-stdio (built with gcc-3.4.3 compiled on
this machine), no threads, no largefiles, and no perlio of any
variety---I have appended perl -V output).
During a CPAN load for Class::Accessor::Complex (a long and ridiculously
convoluted process), Path::Class gaaked (besides the commented TODOs
which were printed and ignored by CPAN build). I downloaded sources and
built them using 'perl Makefile.PL', 'make', and then 'make test';
again, the module fails the test in the third test file, at the same
place, and in the same way.
I don't **see** anything amiss; there were no other bug reports of
similar problems; there are no AIX testers reporting.
SYMPTOM: 'make test' fails in the 't/03-filesystem.t' test because the
reference ('$fh') returns 'undef'; as near as I can tell, because the
method call 'my $fh = $file->open('w')' fails:
[9] my $file = file('t', 'testfile');
[10] ok $file;
[11] {
[12] my $fh = $file->open('w');
[13] ok $fh;
[14]
[15] ok print $fh "Foo\n";
[16] }
BEGIN MAKE TEST OUTPUT:
PERL_DL_NONLAZY=1 /usr/local/etc/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01-basic.t ....... ok
t/02-foreign.t ..... 16/29 # Test 28 got: "dir/subdir" (t/02-foreign.t
at line 68 *TODO*)
# Expected: "/dir/subdir"
# t/02-foreign.t line 68 is: ok $dir->as_foreign('Unix'), '/dir/subdir';
# Test 29 got: "" (t/02-foreign.t at line 69 *TODO*)
# Expected: "1"
# t/02-foreign.t line 69 is: ok $dir->as_foreign('Unix')->is_absolute, 1;
t/02-foreign.t ..... ok
t/03-filesystem.t .. 1/64 Can't open a reference at
/usr/local/lib/perl5/5.10.0/aix-stdio/IO/File.pm line 185.
# Failed test at t/03-filesystem.t line 13.
Can't use an undefined value as a symbol reference at t/03-filesystem.t
line 15.
# Looks like you planned 64 tests but ran 3.
# Looks like you failed 1 test of 3 run.
# Looks like your test exited with 22 just after 3.
t/03-filesystem.t .. Dubious, test returned 22 (wstat 5632, 0x1600)
Failed 62/64 subtests
Test Summary Report
-------------------
t/03-filesystem.t (Wstat: 5632 Tests: 3 Failed: 1)
Failed test: 3
Non-zero exit status: 22
Parse errors: Bad plan. You planned 64 tests but ran 3.
Files=3, Tests=97, 16 wallclock secs ( 2.49 usr 0.15 sys + 10.56 cusr
1.56 csys = 14.76 CPU)
Result: FAIL
Failed 1/3 test programs. 1/97 subtests failed.
make: *** [test_dynamic] Error 22
END MAKE TEST OUTPUT:
BEGIN 'PERL -V' OUTPUT:
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=aix, osvers=4.3.3.0, archname=aix-stdio
uname='aix rowena 3 4 000059419100 unknown unknown aix '
config_args='-Dcc=gcc -Dprefix=/usr/local -Dinstallusrbinperl
-DDEBUGGING -Uusethreads -Uuselargefiles'
hint=previous, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=undef, d_sfio=undef, uselargefiles=undef, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-DUSE_NATIVE_DLOPEN -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include',
optimize='-O -g',
cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-DUSE_NATIVE_DLOPEN -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-DUSE_NATIVE_DLOPEN -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-DUSE_NATIVE_DLOPEN -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include'
ccversion='', gccversion='3.4.3', gccosandvers='aix4.3.3.0'
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=4
alignbytes=8, prototype=define
Linker and Libraries:
ld='ld', ldflags =' -Wl,-brtl -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lbind -lnsl -lgdbm -ldbm -ldl -lld -lm -lcrypt -lc -lbsd
perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lc -lbsd
libc=/usr/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/lib/perl5/5.10.0/aix-stdio/CORE/perl.exp
-bE:/usr/local/lib/perl5/5.10.0/aix-stdio/CORE/perl.exp
-bE:/usr/local/lib/perl5/5.10.0/aix-stdio/CORE/perl.exp'
cccdlflags='-fpic', lddlflags=' -bhalt:4 -bexpall -G -bnoentry -lc
-L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING PERL_DONT_CREATE_GVSV
Built under aix
Compiled at Feb 25 2009 00:08:55
%ENV:
PERL="/usr/local/bin/perl"
@INC:
/usr/local/lib/perl5/5.10.0/aix-stdio
/usr/local/lib/perl5/5.10.0
/usr/local/lib/perl5/site_perl/5.10.0/aix-stdio
/usr/local/lib/perl5/site_perl/5.10.0
/usr/local/lib/perl5/site_perl
.
END 'PERL -V' OUTPUT: