Discussion:
[Xmltv-devel] test xmltv.exe build with perl 5.18!
Robert Eden
2014-06-14 23:18:01 UTC
Permalink
As you guys know from the previous post, I've gotten XMLTV working on
Windows Perl 5.18.

I also installed a copy of ActiveState's Perl Development kit and built
an alpha-exe.

http://xmltv.org/alpha/xmltv_perl5-18.exe

Please check it out and let me know how it works. Once xmltv-devel has
a go at it, I'll let xmltv-users give it a shot.

If everyone is happy with it, I'll look into purchasing a new PDK
license and switch xmltv.exe to it.

Eventually, we'll bump the minimum perl version and can take advantage
of newer features/modules.

Robert
h***@gmail.com
2014-06-15 13:47:31 UTC
Permalink
Post by Robert Eden
As you guys know from the previous post, I've gotten XMLTV working on
Windows Perl 5.18.
I also installed a copy of ActiveState's Perl Development kit and built
an alpha-exe.
Please check it out and let me know how it works.
On a no-Strawberry PC I get:

"This application has failed to start because libgcc_s_sjlj-1.dll was not found."

That's probably more an error from the PDK rather than Strawberry related.

You may need to compile statically (which will increase the size of the exe unfortunately).

ref:
http://stackoverflow.com/questions/4702732/the-program-cant-start-because-libgcc-s-dw2-1-dll-is-missing
http://stackoverflow.com/questions/4984612/program-cant-find-libgcc-s-dw2-1-dll
Robert Eden
2014-06-15 14:27:54 UTC
Permalink
Post by h***@gmail.com
Post by Robert Eden
As you guys know from the previous post, I've gotten XMLTV working on
Windows Perl 5.18.
I also installed a copy of ActiveState's Perl Development kit and built
an alpha-exe.
Please check it out and let me know how it works.
"This application has failed to start because libgcc_s_sjlj-1.dll was not found."
That's probably more an error from the PDK rather than Strawberry related.
You may need to compile statically (which will increase the size of the exe unfortunately).
I suspect it's a "problem" with what Perlapp is choosing to bundle with
xmltv.exe I added a manual bind and re-uploaded xmltv_perl-5.18.exe

Robert
h***@gmail.com
2014-06-15 14:39:28 UTC
Permalink
Post by Robert Eden
Post by h***@gmail.com
"This application has failed to start because libgcc_s_sjlj-1.dll was not found."
I suspect it's a "problem" with what Perlapp is choosing to bundle with
xmltv.exe I added a manual bind and re-uploaded xmltv_perl-5.18.exe
Same as before :(

Geoff
Robert Eden
2014-06-16 05:40:34 UTC
Permalink
Post by h***@gmail.com
Post by Robert Eden
Post by h***@gmail.com
"This application has failed to start because libgcc_s_sjlj-1.dll was not found."
I suspect it's a "problem" with what Perlapp is choosing to bundle with
xmltv.exe I added a manual bind and re-uploaded xmltv_perl-5.18.exe
Same as before :(
Sadly, now I don't believe you can use ActiveState's PerlApp with
Strawberry Perl. :( I think Activestate's PDK requires a statically
linked Perl and Strawberry isn't.

I'm trying to get an ActivePerl setup working

Robert
Robert Eden
2014-08-05 23:27:45 UTC
Permalink
Great news!

I was able to modify Strawberry Perl to work with Activestate's
PerlApp!! (details will be added to the Wiki, if someone else wants to try)

http://xmltv.org/alpha/xmltv_perl_5-18.exe

Only downside is it's grown to 14M. There may be stuff in there I can
remove... we'll see.

Please give this a through test. I've tested it against tv_grab_na_dd
and tv_check and it's working!

Once we're ready to go "live" with it, I'll start using it for the alpha
exe's, and eventually make it to a Windows release.

With Windows users able to run a modern Perl easily, we can bump
required modules to later revisions and add more complicated features...
maybe even a SQLLite database!

Robert
h***@gmail.com
2014-08-06 06:43:56 UTC
Permalink
Post by Robert Eden
Great news!
I was able to modify Strawberry Perl to work with Activestate's
PerlApp!! (details will be added to the Wiki, if someone else wants to try)
http://xmltv.org/alpha/xmltv_perl_5-18.exe
Only downside is it's grown to 14M. There may be stuff in there I can
remove... we'll see.
Nice one! Well done Robert.

I wouldn't worry too much about the size - users seem perfectly happy downloading large packages (e.g. Acrobat Reader has now grown to over 71 MB; Firefox 31 MB). Disc / memory size isn't the issue it used to be.

Geoff
Robert Eden
2014-08-13 05:05:58 UTC
Permalink
Post by Robert Eden
Great news!
I was able to modify Strawberry Perl to work with Activestate's
PerlApp!! (details will be added to the Wiki, if someone else wants to try)
http://xmltv.org/alpha/xmltv_perl_5-18.exe
Only downside is it's grown to 14M. There may be stuff in there I can
remove... we'll see.
Please give this a through test. I've tested it against tv_grab_na_dd
and tv_check and it's working!
Once we're ready to go "live" with it, I'll start using it for the
alpha exe's, and eventually make it to a Windows release.
With Windows users able to run a modern Perl easily, we can bump
required modules to later revisions and add more complicated
features... maybe even a SQLLite database!
I don't think a lot of people have tested the xmltv_perl_5-18.exe, so
I'm using it as the alpha-exe now :) That should get some good testing.

It's working fine for me with tv_grab_na_dd and tv_check.

I just made a change today that got rid of some redefined subroutine
warnings.

Robert
Robert Eden
2014-08-17 14:39:39 UTC
Permalink
No feedback on the new alpha exercise? I guess that's good news.
Post by Robert Eden
Great news!
I was able to modify Strawberry Perl to work with Activestate's
PerlApp!! (details will be added to the Wiki, if someone else wants to try)
http://xmltv.org/alpha/xmltv_perl_5-18.exe
Only downside is it's grown to 14M. There may be stuff in there I can
remove... we'll see.
Please give this a through test. I've tested it against tv_grab_na_dd
and tv_check and it's working!
Once we're ready to go "live" with it, I'll start using it for the alpha
exe's, and eventually make it to a Windows release.
With Windows users able to run a modern Perl easily, we can bump required
modules to later revisions and add more complicated features... maybe even
a SQLLite database!
I don't think a lot of people have tested the xmltv_perl_5-18.exe, so I'm
using it as the alpha-exe now :) That should get some good testing.
It's working fine for me with tv_grab_na_dd and tv_check.
I just made a change today that got rid of some redefined subroutine
warnings.
Robert
h***@gmail.com
2014-08-18 17:00:13 UTC
Permalink
Post by Robert Eden
No feedback on the new alpha exercise? I guess that's good news.
Sorry Robert I've been busy with work :-(

I just tried to configure a couple of grabbers and I get:

C:\xmltv-win>xmltv_perl_5-18 tv_grab_uk_atlas --configure

"This application has failed to start because libexpat-1_.dll was not found."

Timezone is +0100
Can't load 'auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: load_file:The specified module could not be found at /<C:\xmltv-win\xmltv_perl_5-18.exe>DynaLoader.pm line 223.
at perlapp line 827.
BEGIN failed--compilation aborted at /<C:\xmltv-win\xmltv_perl_5-18.exe>XML/Parser.pm line 22.
BEGIN failed--compilation aborted at /<C:\xmltv-win\xmltv_perl_5-18.exe>XML/Twig.pm line 149.
BEGIN failed--compilation aborted at /<C:\xmltv-win\xmltv_perl_5-18.exe>XMLTV.pm line 111.
BEGIN failed--compilation aborted at /<C:\xmltv-win\xmltv_perl_5-18.exe>grab/uk_atlas/tv_grab_uk_atlas line 22.

(Same error with _huro)


C:\xmltv-win>xmltv tv_validate_file t_uk_rt_1_2.xml

"This application has failed to start because libxml2-2_.dll was not found."

Timezone is +0100
Can't load 'auto/XML/LibXML/LibXML.dll' for module XML::LibXML: load_file:The specified module could not be found at /<C:\xmltv-win\xmltv.exe>DynaLoader.pm line 223.
at /<C:\xmltv-win\xmltv.exe>XML/LibXML.pm line 156.
BEGIN failed--compilation aborted at /<C:\xmltv-win\xmltv.exe>XML/LibXML.pm line 156.
BEGIN failed--compilation aborted at /<C:\xmltv-win\xmltv.exe>XMLTV/ValidateFile.pm line 16.
BEGIN failed--compilation aborted at /<C:\xmltv-win\xmltv.exe>tools/tv_validate_file line 6.


This is with either xmltv_perl_5-18 or alpha exe, and seems to be barfing because I don't have Strawberry Perl installed ?

Rgds,
Geoff
Robert Eden
2014-08-19 04:11:31 UTC
Permalink
Post by h***@gmail.com
C:\xmltv-win>xmltv_perl_5-18 tv_grab_uk_atlas --configure
"This application has failed to start because libexpat-1_.dll was not found."
Timezone is +0100
Can't load 'auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: load_file:The specified module could not be found at /<C:\xmltv-win\xmltv_perl_5-18.exe>DynaLoader.pm line 223.
Fixed..

There was a known issue with Module::Runtime... I downgraded it from
0.14 to 0.13.
I also manually added a few more DLLs.
tv_grab_uk_atlas seems to work for me (I couldn't get my Atlas key to
work right, but no grabber errors)

I also identified problems with the "Switch" module that prevents
tv_grab_ar from working... I'm not worrying about it because it didn't
actually work with the old xmltv.exe either! I may try and remove those
apps from xmltv.exe

http://alpha-exe.xmltv.org updated.

Robert
h***@gmail.com
2014-08-28 11:31:06 UTC
Permalink
I've run a few of the grabbers through a batch file which emulates the commands run by the nightly tester and the grabbers themselves seem fine. Only issue I've noticed is that tv_cat is failing with:

"different files have different credits, picking one arbitrarily"

and the same for each channel in the file, e.g.

"differing channels with id midlands.bbc1.bbc.co.uk, picking one arbitrarily"

This is despite the credits and channel twigs being identical!

A simple way to replicate is to cat with itself:

++++++++++
C:\xmltv-win> xmltv.exe tv_cat test.xml test.xml > out.xml
Timezone is +0100
different files have different credits, picking one arbitrarily
++++++++++


Tracing it back this seems to be caused by XML::Twig.

The line in XMLTV::new_doc_callback()
"my $cred = get_attrs($node);"

is not returning the attributes in the same order as in the file. E.g. file is
<tv source-info-url="http://www.port.hu/" source-data-url="http://www.port.hu/tv/" generator-info-name="XMLTV" generator-info-url="http://xmltv.org/">

but Dumping $cred gives

$VAR1 = {
'source-data-url' => 'http://www.port.hu/tv/',
'generator-info-url' => 'http://xmltv.org/',
'source-info-url' => 'http://www.port.hu/',
'generator-info-name' => 'XMLTV'
};

for the first file, but

$VAR1 = {
'generator-info-name' => 'XMLTV',
'source-info-url' => 'http://www.port.hu/',
'generator-info-url' => 'http://xmltv.org/',
'source-data-url' => 'http://www.port.hu/tv/'
};

for the second file.

When parsefiles_callback() does a simple "ne" test on these they obviously don't match, hence the reported failure.

The order of the hash keys appears random (tv_cat the same file with itself 5 times and you'll get 4 different orders; run it again and the sequence will be different).

I don't know if this is an issue with PerlApp or is something in Perl 5.18. It works ok on my Linux box (Perl 5.8, XML::Twig 3.42), and under cygwin with Perl 5.14 (XML::Twig 3.48). (Alpha exe includes XML::Twig 3.48; pre-5.18 version had XML::Twig 3.29).


Thoughts anyone?

Geoff
--
(WinXP Pro SP3)
Robert Eden
2014-08-28 21:38:37 UTC
Permalink
Post by h***@gmail.com
"different files have different credits, picking one arbitrarily"
and the same for each channel in the file, e.g.
"differing channels with id midlands.bbc1.bbc.co.uk, picking one arbitrarily"
This is despite the credits and channel twigs being identical!
++++++++++
C:\xmltv-win> xmltv.exe tv_cat test.xml test.xml > out.xml
Timezone is +0100
different files have different credits, picking one arbitrarily
++++++++++
Tracing it back this seems to be caused by XML::Twig.
The line in XMLTV::new_doc_callback()
"my $cred = get_attrs($node);"
is not returning the attributes in the same order as in the file. E.g. file is
<tv source-info-url="http://www.port.hu/" source-data-url="http://www.port.hu/tv/" generator-info-name="XMLTV" generator-info-url="http://xmltv.org/">
but Dumping $cred gives
$VAR1 = {
'source-data-url' => 'http://www.port.hu/tv/',
'generator-info-url' => 'http://xmltv.org/',
'source-info-url' => 'http://www.port.hu/',
'generator-info-name' => 'XMLTV'
};
for the first file, but
$VAR1 = {
'generator-info-name' => 'XMLTV',
'source-info-url' => 'http://www.port.hu/',
'generator-info-url' => 'http://xmltv.org/',
'source-data-url' => 'http://www.port.hu/tv/'
};
for the second file.
When parsefiles_callback() does a simple "ne" test on these they obviously don't match, hence the reported failure.
The order of the hash keys appears random (tv_cat the same file with itself 5 times and you'll get 4 different orders; run it again and the sequence will be different).
I don't know if this is an issue with PerlApp or is something in Perl 5.18. It works ok on my Linux box (Perl 5.8, XML::Twig 3.42), and under cygwin with Perl 5.14 (XML::Twig 3.48). (Alpha exe includes XML::Twig 3.48; pre-5.18 version had XML::Twig 3.29).
It's not PerlApp causing the problem. :)
I just tried it on native windows Perl 5-18 and 3.48 and got the same
message. :(

I seem to remember by definition, perl does not guarantee consistent
order of hash keys... sort them if you care.

Robert
h***@gmail.com
2014-08-29 07:19:25 UTC
Permalink
Post by Robert Eden
It's not PerlApp causing the problem. :)
I just tried it on native windows Perl 5-18 and 3.48 and got the same
message. :(
I seem to remember by definition, perl does not guarantee consistent
order of hash keys... sort them if you care.
That's true. I wonder why it has always worked up to now? A change in 5.18 perhaps?

We'll need to rework the following then, to remove the use of Dumper comparisons:

xmltv.pm
parsefiles_callback()
catfies()
cataux()
tv_imdb

Geoff

h***@gmail.com
2014-08-28 12:42:57 UTC
Permalink
On Mon, 18 Aug 2014 23:11:31 -0500, Robert Eden wrote:
[...]
Post by Robert Eden
I also identified problems with the "Switch" module that prevents
tv_grab_ar from working... I'm not worrying about it because it didn't
actually work with the old xmltv.exe either! I may try and remove those
apps from xmltv.exe
It seems your change to tv_grab_ar rev 1.12 to remove the use of Switch was lost when rev 1.13 was created. I've reinstated your mods so Switch is no longer required. It should therefore be possible to include _ar (rev 1.17) in the exe file, all it needs is
Date::Language::Spanish
and
XML/Parser/Encodings/iso-8859-15.enc


Could you also include Pod::Usage (Pod::Simple?) ? I use this in a few of my grabbers - it's normally present in a Linux perl install - could you add this module please?

Geoff
Robert Eden
2014-08-29 04:44:34 UTC
Permalink
I just switched xmltv.exe to CVS head and committed my changes to make
the new PerlApp work. (previously I was testing against a nightly
snapshot from a few weeks ago). Alpha exe updated.

Robert
Loading...