Skip Menu |

This queue is for tickets about the XML-SAX CPAN distribution.

Report information
The Basics
Id: 72762
Status: resolved
Priority: 0/
Queue: XML-SAX

People
Owner: Nobody in particular
Requestors: sergstesh [...] yahoo.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.99
Fixed in: (no value)



Subject: XML-SAX-0.99 depends on itself in 'make test'
As I'm running 'make test' for the module, I see a whole bunch of Can't locate XML/SAX/Exception.pm in @INC (@INC contains: /home/qemu/AFSWD/build/XML-SAX-0.99/blib/lib /home/qemu/AFSWD/build/XML-SAX-0.99/blib/arch . /home/qemu/AFSWD/20111122/XML-NamespaceSupport-1.11/lib/site_perl/5.12.4/i686-linux-thread-multi /home/qemu/AFSWD/20111122/XML-NamespaceSupport-1.11/lib/site_perl/5.12.4/i686-linux-thread-multi /home/qemu/AFSWD/20111122/XML-NamespaceSupport-1.11/lib/site_perl/5.12.4 /home/qemu/AFSWD/20111122/XML-NamespaceSupport-1.11/lib/site_perl/5.12.4/i686-linux-thread-multi /home/qemu/AFSWD/20111122/XML-NamespaceSupport-1.11/lib/site_perl/5.12.4 /home/qemu/AFSWD/20111122/XML-NamespaceSupport-1.11/lib/site_perl ./blib/lib /home/qemu/AFSWD/20111122/perl-5.12.4/lib/site_perl/5.12.4/i686-linux-thread-multi /home/qemu/AFSWD/20111122/perl-5.12.4/lib/site_perl/5.12.4 /home/qemu/AFSWD/20111122/perl-5.12.4/lib/5.12.4/i686-linux-thread-multi /home/qemu/AFSWD/20111122/perl-5.12.4/lib/5.12.4 .) at /home/qemu/AFSWD/build/XML-SAX-0.99/blib/lib/XML/SAX/ParserFactory.pm line 12. messages. I.e. XML::SAX requires XML::SAX::Exception, which means XML::SAX depends on itself in order to run 'make test'. I've used self-built and locally installed perl-5.12.4, but I think this doesn't matter in this case.
I'm not sure I understand your problem. It appears that you haven't installed XML::SAX::Base which is listed as one of the dependencies for XML::SAX.
From: sergstesh [...] yahoo.com
On Sun Nov 27 15:35:31 2011, GRANTM wrote: Show quoted text
> I'm not sure I understand your problem. It appears that you haven't > installed XML::SAX::Base which is listed as one of the dependencies for > XML::SAX.
You have just confirmed there is another bug. Again, XML::SAX::Base is a derived class of XML::SAX, so you shouldn't demand from anybody installing XML::SAX::Base _before_ XML::SAX, so, since are demanding it, again, XML::SAX depends on itself. AFAIK, in such cases module developers package into one tarball all needed packages/classes and derived classes.
XML::SAX::Base is not a derived class of XML::SAX. The XML::SAX distribution includes a 'Pure Perl' parser which uses XML::SAX::Base as it's base class and also uses XML::SAX::Exception from the XML::SAX::Base distribution. As far as I know, all the dependencies are correctly declared in both distributions - as long as you are using the most recent release. If you believe otherwise, please indicate which file has the wrong value in it. It seems that you are trying to resolve dependencies manually. If you just used the CPAN shell or the cpanm command (from App::cpanminus) then the dependencies will be resolved automatically in the correct order.
From: sergstesh [...] yahoo.com
On Sun Nov 27 16:47:05 2011, GRANTM wrote: Show quoted text
> XML::SAX::Base is not a derived class of XML::SAX. > > The XML::SAX distribution includes a 'Pure Perl' parser which uses > XML::SAX::Base as it's base class and also uses XML::SAX::Exception from > the XML::SAX::Base distribution. > > As far as I know, all the dependencies are correctly declared in both > distributions - as long as you are using the most recent release. If > you believe otherwise, please indicate which file has the wrong value
in it. Show quoted text
> > It seems that you are trying to resolve dependencies manually. If you > just used the CPAN shell or the cpanm command (from App::cpanminus) then > the dependencies will be resolved automatically in the correct order.
I am _not_ running CPAN shell. I have my own AppsFromScratch tool which builds a lot of targets - more than 370. Some of the targets are Perl module; the tool itself is written in Perl. There is no mandate to run CPAN shell - the "official" method is still based on perl Makefile.PL ARGS make make test make install . Are you telling me that XML::SAX::Base does not require XML::SAX to be built first ? If yes, why is it named to look like a derived class of XML::SAX ? If not, then we have a dependency on itself. I have routinely built older versions of XML::SAX, e.g. v0.96, and I've had no such problems. I see that now a lot of things are broken in the same manner, e.g. Bundle::LWP. It now depends on, say, HTTP::Message, and HTTP::Message depends on Bundle::LWP.
From: sergstesh [...] yahoo.com
By the way, we need to change the bug title to 'make test' fails even though 'perl Makefile.PL' is OK. _Any_ failure in build process after successful 'perl Makefile.PL' is a failure in build mechanism by definition. My most frequently filed bug report against non-Perl targets is titled 'make' fails even though 'configure' is OK .
At no point did I suggest that it was mandatory to install CPAN modules using a CPAN shell. I merely pointed out that things would be much easier if you did. Using one of the available tools does not require a manual interactive process - CPAN.pm provides an API you can call from your own script to install a module and automatically install required dependencies as well. The dependencies between CPAN distributions are available in machine readable form in the META.yml or META.json files. When you run the Makefile.PL it will warn you with a message like this: Warning: prerequisite XML::SAX::Base If you ignore the dependency declarations and you ignore the warning messages then you will encounter problems and waste a lot of time.