On Wed, Jan 30, 2008 at 11:39:06AM -0500, Sam Tregar wrote:
> On Jan 30, 2008 9:22 AM, <[EMAIL PROTECTED]> wrote:
> > t/02yaml........# No tests run!
> > dubious
> >        Test returned status 255 (wstat 65280, 0xff00)
> Amazing.  Does every CPAN tester have a broken XML::SAX install?

I don't have an XML::SAX install at all until your module lists it as a
pre-requisite, at which point I install it.

>                                                                  Is there
> something wrong with the way you guys are installing XML::SAX?

Sort of.  The fault appears to be with XML::SAX, which is broken
when installed using CPAN.pm.  You're getting failure reports because
one of your dependencies is broken in a way that CPAN::Reporter can't
detect (it passes its tests) and so the FAIL report for your module
doesn't get suppressed like it should be.  Until XML::SAX is fixed, can
you force it to use XML::SAX::PurePerl if there appears to be no parser
installed, using XML::SAX->add_parser()?  Or is there another XML parsey
thing you can use instead?

XML::SAX bughunt follows ...

When I do this:

  $ perl-5.6.2/bin/perl -MCPAN -e 'install qw(XML::SAX)'

a bunch of stuff gets installed, but the 'make install' step finishes
like this.  Note the warning about not being able to find
ParserDetails.ini, and where it looked for it:

  Writing 
/home/david/cpantesting/perl-5.6.2/lib/site_perl/5.6.2/i686-linux/auto/XML/SAX/.packlist
  Appending installation info to 
/home/david/cpantesting/perl-5.6.2/lib/5.6.2/i686-linux/perllocal.pod
  could not find ParserDetails.ini in 
/home/david/cpantesting/perl-5.6.2/.cpan/build/XML-SAX-0.16-BgiDq8/blib/lib/XML/SAX
    GRANTM/XML-SAX-0.16.tar.gz
    /usr/bin/make install  -- OK

and so it goes and creates a ParserDetails.ini file, but in the
perl-5.6.2/.cpan/build/XML-SAX-0.16-BgiDq8/blib/lib/XML/SAX/ directory.
That is, obviously, only in @INC while I'm installing XML::SAX.  Having
taken a quick gander at the XML::SAX source, it looks like this will
affect at least everyone who installs it through CPAN.pm.

I've not tested this, but I suggest that a first stab at fixing this
would be to change MY::install in Makefile.PL to:

  change "eval { require XML::SAX };" to be a string-eval so it gets
    eval-ed at run-time instead of compile-time;
  immediately before that eval, strip anything that looks like
    m{build/XML-SAX.*/lib/XML/SAX/$} from @INC

This will then have to be tested using a mini-CPAN

I've CCed the XML::SAX author on this email.

-- 
David Cantrell | Official London Perl Mongers Bad Influence

Reply via email to