Hi All,

Recap: some time ago I was having problems with a script that used XML::Parser. I compiled it under Windows XP, and then tried to run it on a machine with no Perl or Expat installed. It failed with this message:

C:\My Documents>test
Can't load 'C:\WINDOWS\TEMP\par-Andy Balaam\cache-1073784600\d65c0da7.dll' for m
odule XML::Parser::Expat: load_file:One of the library files needed to run this
application cannot be found at C:/perl/5.8.0/lib/MSWin32-x86-multi-thread/DynaLo
ader.pm line 229.


Autrijus replied with some instructions for me to try:

Let's see.  If I remember correctly, libexpat is statically
compiled into Expat.dll, so it should really Just Work.

Please do the following:

1. Rename test.exe into test.zip
2. Open it with WinZip or WinRAR
3. Save the MANIFEST somewhere
4. Install ActivePerl 5.8.x on the Win98 machine
5. Install PAR on the Win98 machine
6. Make another .exe on the Win98 machine,
using the same "pp test.pl" command.
7. Rename C:\Perl\ away and see if the executable runs.
8. If it does, rename it to .zip and compare its
MANIFEST with the previously saved one.
9. If it does not, send the error message again
on the list, and I'll try to find a Win9x machine
to duplicate that error.


I have been unable to do all this because I can't get the precompiled PAR to work under ActivePerl on the Win 98 box. It has no Internet connection (in fact it's a virtual machine running under Bochs) and pp refuses to work saying it can't find Module::ScanDeps.

However, I can tell you what's in the MANIFEST of test.exe:

[EMAIL PROTECTED] testexeunzipped]$ grep xpat MANIFEST
lib/XML/Parser/Expat.pm
lib/auto/XML/Parser/Expat/Expat.bs
lib/auto/XML/Parser/Expat/Expat.dll

I can send the whole MANIFEST if you like, or even the whole exe.

I have confirmed that the exe actually contains these files as well as listing them in the manifest.

Some possible actions:

1. Can someone send me a compiled test.exe so I can see whether it works on my machine? (The script to compile is below)

2. Can someone advise me whether the pp.exe from the precompiled PAR should Just Work on a machine without an Internet connection? What should I unzip, and where, to be able to use it?

3. Could I send the exe to someone and you could see whether it works on your machine?

Thanks very much for your help. Any advice on how to investigate further would be appreciated.

Andy

-----------------------

I compile the script like so:

pp -o test.exe test.pl

and test.pl looks like this:

-----------------

use XML::Parser;


my $p1 = new XML::Parser(Style => 'Debug');


$p1->parse('<foo id="me">Hello World</foo>');


print "Finished!\n";

--------

On the machine where it was compiled it works fine, but on the test machine it produces the error given earlier.



Reply via email to