This weekend I uploaded another version of XML::RSS::Tools onto CPAN. I copied some diagnostic code from XML::Simple, so I'd have a better idea of the modules any tester had on their machine, as XML::LibXML and it's libxml2 that it's based on have a complex existance.
As before it worked perfectly on my older machine at home, and I'll test it with my newer machines at work this week. For some reason, some CPAN tester is having problems. The problem is I can't email the person to ask for additional details, and the damn thing works perfectly well on all the machines I have access to.
The code I copied from XML::Simple now gives me an idea of the Perl modules this tester has, and to my surprise they are all pretty recent and up to date. I don't know what the version of libxml2 and libxslt that sit beneath. These libraries are under active development, so odd things happen to the API, things get added and moved around, even the Perl modules have to maintain a blacklist of library versions that don't work with them.
I understand that many people are busy, these tests are automated, and it's nice to get reports, but sometimes - as in this case - it's not very helpful...
Re:Is this what your looking for?
ajt on 2004-04-26T09:39:59
Most useful. I now know what failed, I just don't know why. This is a significant step in the right direction.
Do you know what the versions of libxml2 and libxslt you have on your machines? There are quite a few versions of these libraries, and they all have their own "issues", independent of the Perl module sitting on top of them.
At home my old Debian stable machine is okay, it runs the
no-catalog.t
test, it doesn't have catalog support so it doesn't attempt it. At work the catalog tests work fine on:
- Win32 (ActiveState, and pre-compiled PPMs)
- Perl 5.8.0
- XML::LibXML 1.54
- XML::LibXSLT 1.53
- RedHat
- Perl 5.6.1
- libxml 20421
- XML::LibXML 1.53
- libxslt 10012
- XML::LibXSLT 1.53
- RedHat
- Perl 5.8.0
- libxml 20508
- XML::LibXML 1.56
- libxslt 10031
- XML::LibXSLT 1.53
I'll also have a look at the example XML file, and how catalog support works. It could be some encoding/UTF thing that got changed in Perl 5.8.1. I'll also dig into XML::LibXML/XML::LibXSLT to see what changed in the newer version, the older versions seem okay.
Again, many thanks, most useful help.
Re:Is this what your looking for?
link on 2004-04-26T12:46:33
libxml - 2.6.9
libxlt - 1.1.5
As in general I'm too lazy to build stuff unless debian doesn't provide it I'd say both my working and broken machines have the same versions of libxsl,libxml and perl.
Re:Is this what your looking for?
ajt on 2004-04-26T15:13:00
I'm quite perlexed. How can it work on one machine but not the other if they are so similar....? You couldn't run perl -V and let me know if there are any differences, and check the locale of both machine, in fact if you can think of any difference between them, that would be most helpful.
Re:Is this what your looking for?
link on 2004-04-26T15:56:10
The only difference is for my machine at home I installed the tools tar by hand and only did the dependencies using CPAN.pm but for the work machine I installed everything using CPAN.pm.
Also the machines may not be identical as I keep work more uptodate than home as at home I'm on dialup but at work I work I get to leverage the fact I work for the worlds largest isp.:) Re:Is this what your looking for?
link on 2004-04-26T21:53:03
Not quite the same.
The problem seems to be XML::LibXML. 1.56 works but 1.58 doesn't. Which is strange since I need to modify 1.56 ( undeeded externs ) to install and it doesn't pass its make test 100%
link@localhost:~/XML-RSS-Tools-0.14$ export PERL5LIB=./blib/lib/:/home/link/cpan/1.56/lib/perl/5.8.3/
link@localhost:~/XML- RSS-Tools-0.14$ perl test_case.pl
link@localhost:~/XML-RSS-Tools-0.14$ export PERL5LIB=./blib/lib/:/home/link/cpan/1.58/lib/perl/5.8.3/
link@localhost:~/XML- RSS-Tools-0.14$ perl test_case.pl:10: parser error : Entity 'pound' not defined
£ Tony Blair was accused last night of 'completely
^
at test_case.pl line 15
link@localhost:~/XML-RSS-Tools-0.14$
where test_case.pl is below ( t/test-0.91.rdf as DATA )
use strict;
use warnings;
use XML::LibXML;
my $parser = XML::LibXML->new();
my $rss_string = join( "" , );
$parser->load_catalog( "t/catalog.xml" );
$parser->keep_blanks(0);
$parser->validation(0);
$parser->complete_attribu tes(0);
my $so_xml = $parser->parse_string( $rss_string );
__DATA__Re:Is this what your looking for?
ajt on 2004-04-27T07:36:56
According to the Changes file they didn't change the catalog interface between these versions. Obviously the module has had a lot of activity between these versions, so something else has been changed - could be the old pass behaviour was a fluke, and the new fail behaviour is correct.
I'll ask on the Perl-XML list to see what I can find. Again many thanks for this most useful debugging help.
Re:Is this what your looking for?
ajt on 2004-04-27T09:17:23
link,
Andrew Alakozow, on the Perl-XML list, suggested setting the
XML_DEBUG_CATALOG
environment variable to see if this helps show up a difference. If you have a minute, it would be nice to know if there is a difference between your working and failing machine.As ever, many thanks for this help.
Re:Is this what your looking for?
link on 2004-04-27T13:32:53
Sorry probably wasn't clear. When I got home yesterday I update the libxml2 and libxml2-dev packages to the current debian testing versions. This means both machines have the same versions of the shared libraries. I then ran make test and the machine at home still passed. I pulled the latest version of XML::LibXML from cpan and updated from 1.56 to 1.58. When I reran make test for RSS Tools it now failed. I then installed XML::LibXML 1.56 and 1.58 to seperate directories and could see when I set PERL5LIB to pick up 1.56 make test passed and when set to pick up 1.58 make test failed.Re:Is this what your looking for?
ajt on 2004-04-27T14:03:54
Sorry, I see what you mean. If you have time could you re-run the tests with the
XML_DEBUG_CATALOG
enironment variable set, and see if you get different results with the two different libraries. Something must have changed in XML::LibXML when they went to version 1.58, I just wish I knew what...Re:Is this what your looking for?
link on 2004-04-27T16:37:09
If you want try and debug this I'm on aim as psinnottie. Not sure debugging via journal entries it the best way to go;) Re:Is this what your looking for?
ajt on 2004-04-27T19:15:21
Wise words, alas I don't use any IM system. I can be reached by email:
atrickett at cpan dot org
, if you are still willing to dig deeper.