On 6 Jan 2004 at 21:39, Alan Stewart wrote:

> On 6 Jan 2004 at 19:44, Alan Stewart wrote:
> 
> > Seems to be a Tk problem only. This small program has the same problem with the 
> > second 
> > copy trying to run:
> > 
> > use Tk;
> > my $mw = MainWindow->new();
> > MainLoop;
> > 
> > The cache directory does contain Event.dll, but it doesn't seem to find it/load 
> > it, so 
> > it goes looking for the .al file.
> > 
> 
> Something seems awry in sub _dl_extract in Heavy.pm. I assume that line 127 is where 
> you are trying to re-use already extracted files after the first run.
> 
> A couple observations, but no answers. After the first copy of the above program 
> runs, 
> there are two exact copies of Event.dll in the cache, one with a temp file name 
> (228643d2.dll) and one with the real name (Event.dll). Both have a size of 49244 
> bytes, 
> but the par file reports an uncompressed size 49243 bytes and that is the size I get 
> if 
> I unzip manually with unzip.exe. The ones extracted by Par have an extra byte (hex 
> 30) 
> at the end.
> 

Hate to keep talking to myself in public, but ....

I changed Heavy.pm line 134 from:

        print $fh $member->contents;

to:

        my $contents = $member->contents; print $fh $contents;

and I get the correct filesize ! Very strange. I am using Archive::Zip 1.06 and 
Compress::Zlib 1.16.

I still get the error trying to write a tempname copy of Event.dll during the second 
run. The variable $file has a full auto/Tk/Event/Event.dll path in it, so -e $file 
fails at Heavy.pm line 128 and then the permissions error on the write.


Alan Stewart

Reply via email to