Subject: | Test fail issue (File::Spec involved) |
There is an apparent bug in Module::Build (0.3102 & 0.32) that may, or
may not, be a File::Spec bug. During test (either CPAN, manual 'Build
test' or manual 'make test') for Module::Build the test fails with a
version error for File::Spec: as follows:
t/xs.t ................ File::Spec version 0.8 required--this is only
version 0.7 at /usr/local/lib/perl5/5.10.0/File/Temp.pm line 140.
BEGIN failed--compilation aborted at
/usr/local/lib/perl5/5.10.0/File/Temp.pm line 140.
This is the output for every test, first to last (I just grabbed one
close to hand).
perllocal.pod and CPAN (and the CPANPLUS variant) all report that
File::Spec is at 0.82. I re-ran a full make of File::Spec 0.82 followed
by all three variations on building Module::Build, same result. A look
through the Module::Build source files found nothing
out-of-the-ordinary. So I checked:
/usr/local/lib/perl5/5.10.0/File
Thinking maybe there was some sort of version mis-match thing between
the 5.10.0 module repository and site_perl (File::Spec Spec.pm was
0.82); there was, but it turned out to be in
/usr/local/lib/perl5/site_perl/5.10.0/File
where Spec.pm was 0.7, just as Module::Build reported.
I copied the File::Spec files by hand, and rebuilt Module::Build, after
which everything was fine (all tests passed).
I'm fairly sure the bug is in File::Spec, but I certainly looked here
first, so I thought it might help others facing a similar problem.
output of per -V:
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
.