Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 43920
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: ranya [...] swbell.net
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in:
  • 0.31012
  • 0.32
Fixed in: (no value)



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 .
Subject: Re: [rt.cpan.org #43920] Test fail issue (File::Spec involved)
Date: Fri, 6 Mar 2009 23:17:12 -0800
To: bug-Module-Build [...] rt.cpan.org
From: Eric Wilhelm <enobacon [...] gmail.com>
# from Kristin Ann High via RT # on Friday 06 March 2009 21:54: Show quoted text
>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. >... >So I checked: > /usr/local/lib/perl5/5.10.0/File >... Spec.pm was 0.82); ... > >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.
Show quoted text
>I copied the File::Spec files by hand ...
Show quoted text
> @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
Hi Kristin, It sounds like you might have a case where Module::Build is getting the @INC entries backwards. Is it possible that there was a PERL5LIB or PERL5OPT environment variable causing that? Thanks, Eric
Subject: Re: [rt.cpan.org #43920] Test fail issue (File::Spec involved)
Date: Sat, 7 Mar 2009 02:46:17 -0600
To: bug-Module-Build [...] rt.cpan.org
From: Kristin Ann High <ranya [...] swbell.net>
Eric, No, not only because I erase and obliterate the IBM Vendor perl (useless for any real work), and I only set PERL on a per TTY session basis for compiles, but also... The zillion (possibly more like 50, but it feels like a zillion) other modules I've been installing have all been happy---provided they get through their tests ok (not always the case, sadly). The perl 5.10.0 install is a ground-up install; I deleted all the older perls (modules and all) before installing it, so that I could have clean test of both the 5.10 install, and rebuilding the modules (the "production" machine is still on 5.8.9). I went ahead an ran a 'printenv' on all the open TTYs (including the still-running session I ran into the problem with), and nothing unusual turned up. Of course, I'll send you a c&p of it if you want to be sure---the only perl-specific settings are OBJECT_MODE=32 and LC_ALL=en_US & LC__FASTMSG=true (some TTY session I set to LC_ALL=C, and sometimes I'll set LANG=en_US, or EN_US (for UTF), and sometimes to C. Let me know if there is anything else I can do to help. As you will have noted, I compiled with debugging on, so if you want me to do any deuggy stuff, just ask. Mind you, the bazillion modules needed to do things I don't particularly care about (text processing, weather data collection, other customer junk) generally are fine---so of course, this module, which seems **perfect** for the kind of system programming I do in perl, would go all wonky on me. Thanks for all your work. Kristin On 07 Mar, 2009, at 01:17, Eric Wilhelm via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=43920 > > > # from Kristin Ann High via RT > # on Friday 06 March 2009 21:54: >
>> 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. >> ... >> So I checked: >> /usr/local/lib/perl5/5.10.0/File >> ... Spec.pm was 0.82); ... >> >> 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 ...
>
>> @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
> > Hi Kristin, > > It sounds like you might have a case where Module::Build is getting > the > @INC entries backwards. Is it possible that there was a PERL5LIB or > PERL5OPT environment variable causing that? > > Thanks, > Eric >
Subject: Re: [rt.cpan.org #43920] Test fail issue (File::Spec involved)
Date: Sat, 07 Mar 2009 02:33:22 -0800
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Kristin Ann High via RT wrote: Show quoted text
> 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.
That's very peculiar as those are some very old versions of File::Spec. 0.82 is eight years old and shipped with 5.6.1. 0.7 is even older from the 5.005 era. 5.10.0 ships with 3.2501. Aside from whatever's going on with Module::Build, something is mixed up with your perl installation. 5.10.0 should not be using such an old File::Spec. -- Defender of Lexical Encapsulation
Subject: Re: [rt.cpan.org #43920] Test fail issue (File::Spec involved)
Date: Sat, 7 Mar 2009 18:57:59 -0600
To: bug-Module-Build [...] rt.cpan.org
From: Kristin Ann High <ranya [...] swbell.net>
Micheal I wondered about that myself when Module::Build first gave me the File::Spec error (at version 0.7), and I found File::Spec 3.2501. Unfortunately, I'm a systems person, so my programming experience is strictly limited to porting and writing small apps to do work for customers. So...I presumed (with much swearing), that either (a) some one had decided to make a new variant of File::Spec that was at 0.x, which replaced 3.2501 in some bizarre way; or (b) that there was some PFM involved where File::Spec 3.2501 was not **really** the File::Spec module that Module::Build wanted. I do use CPAN, but I also often build by hand, because I dislike having PFM on my system---this is the sort of thing that happens when one **doesn't** do things "by hand"---one doesn't actually know that File::Spec is File::Spec and that anything unhappy with 3.2501, but happy with 0.8, has a kludged dependancy routine. I did a "clean" build of perl for 5.10---I removed all previous versions (and I always eradicate IBM's perl binary) before unpacking the source and building it. After I received your email, I went into the build directory to check, and copied back File::Spec 3.2501 (Spec.pm and the Filespec modules on Spec) to both /usr/local/lib/perl5/site_perl/5.10.0/File and /usr/local/lib/perl5/5.10.0/File. I then eradicated Module::Build (which is rather laborious). An install from CPAN was built from the previously installed sources, but it gave no problems during testing; I then eradicated Module::Build **again**, and built by hand from sources downloaded (also by hand). The build, test, and install all succeeded. It seems likely to me, then, that one of the older packages I installed (customers being customers) may have installed the obsolete version 0.7, which then caused Module::Build to fail. My own blunder---installing 0.82 because I couldn't imagine that a dependency of > 0.7 would not be met by 3.2501---then further complicated the picture. I don't have much experience with CPAN (obviously), but I will nose around there if the install log comes up dry, and see if I can pinpoint how 0.7 got itself installed (it seems clear to me that **I** blew away 3.2501 when I installed 0.82). Sorry for the trouble my ignorance caused---next time I'll check both branches and the perl build directory. Thanks for helping---at least I know now have the correct version in both branches---and I'm sorry about burning up your time for something I should have sniffed out when I first went "huh?" over the failure of 3.2501 to meet the > 0.7 check (the why 0.7 was installed at all is doubtless laziness on my part). Kristin On 07 Mar, 2009, at 04:33, Michael G Schwern via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=43920 > > > Kristin Ann High via RT wrote:
>> 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.
> > That's very peculiar as those are some very old versions of > File::Spec. 0.82 > is eight years old and shipped with 5.6.1. 0.7 is even older from > the 5.005 > era. 5.10.0 ships with 3.2501. > > Aside from whatever's going on with Module::Build, something is > mixed up with > your perl installation. 5.10.0 should not be using such an old > File::Spec. > > > -- > Defender of Lexical Encapsulation >