Got this output, Test1, Test2 is mine from the script.

C:\Documents and Settings\Travis\Desktop>test.exe
extracted lib/auto/Digest/MD5/MD5.dll to
C:\DOCUME~1\Travis\LOCALS~1\Temp\par-Tr
avis\cache-Cencal\ec2b4451.dll => 0
extracted lib/auto/DBI/DBI.dll to
C:\DOCUME~1\Travis\LOCALS~1\Temp\par-Travis\ca
che-Cencal\4b50f371.dll => 0
Test1
Test2
IO error: reading header signature :
 at (eval 25) line 3
extracted lib/auto/DBD/ODBC/ODBC.dll to
C:\DOCUME~1\Travis\LOCALS~1\Temp\par-Tra
vis\cache-Cencal\3d2b5e28.dll => 4
install_driver(ODBC) failed: Can't load
'C:\DOCUME~1\Travis\LOCALS~1\Temp\par-Tr
avis\cache-Cencal\3d2b5e28.dll' for module DBD::ODBC: load_file:%1 is not a
vali
d Win32 application at C:/strawberry/perl/lib/DynaLoader.pm line 200.
 at C:/strawberry/perl/vendor/lib/PAR/Heavy.pm line 128
Compilation failed in require at (eval 25) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at script/CenCal.pl line 132

Dir of DLL files it extracted, ODBC.dll is only there because I am including
it specifically (that's how I figured out I could copy it from there to
3d2b5328.dll and have it work).


 Directory of C:\DOCUME~1\Travis\LOCALS~1\Temp\par-Travis\cache-Cencal
03/08/2011  07:53 PM            16,896 32f8f74d.dll
03/08/2011  07:53 PM                 0 3d2b5e28.dll
03/08/2011  07:53 PM            15,360 438ebc0d.dll
03/08/2011  07:53 PM           126,464 4b50f371.dll
03/08/2011  07:53 PM           129,536 5ec07803.dll
03/08/2011  07:53 PM            15,872 749ebac9.dll
03/08/2011  07:53 PM            27,136 9c56408b.dll
03/08/2011  07:53 PM            47,616 dbddb085.dll
03/08/2011  07:53 PM            16,896 dda2c15d.dll
03/08/2011  07:53 PM            21,504 e63e42a3.dll
03/08/2011  07:53 PM            20,992 ec2b4451.dll
03/08/2011  07:53 PM            21,504 fe0a3205.dll
03/08/2011  07:53 PM            35,328 libgcc_s_sjlj-1.dll
11/05/2010  09:26 AM           122,368 ODBC.dll
03/08/2011  07:53 PM         1,377,280 perl512.dll

On Tue, Mar 8, 2011 at 8:14 AM, Roderich Schupp <
[email protected]> wrote:

> On Tue, Mar 8, 2011 at 1:58 PM, Travis Williams <[email protected]> wrote:
> > All the DLL's when unziped are the correct size.
>
> Strange. Can you try the following (it's crucial to do it in the order
> listed):
>
> 1. apply the patch below to an unpacked source of PAR
>    (adds some diagnostic when extracting DLLs)
> 2. rebuild and install PAR
> 3. do a fresh build and install of PAR::Packer
> 4. re-pack your script
> 5. completely remove the cache area (C:\temp\par-USER or some such)
> 6. run the packed executable from step 4;
>    this should produce lines like (on stderr)
>
> extracted lib/auto/Digest/MD5/MD5.so to
>
> /tmp/par-ccm_root/cache-ce8e8907c5a3c22d60ba163427934b0262c3cf18/c7868040.so
> => 0
>
> 7. post the complete output from step 6
>
> Cheers, Roderich
>
> === patch follows ===
> --- lib/PAR/Heavy.pm.orig       2011-03-08 14:24:55.000000000 +0100
> +++ lib/PAR/Heavy.pm    2011-03-08 14:44:30.000000000 +0100
> @@ -164,7 +164,9 @@
>
>     if ($fh) {
>         binmode($fh);
> -        $member->extractToFileHandle($fh);
> +        my $rc = $member->extractToFileHandle($fh);
> +        printf STDERR "extracted %s to %s => %d\n",
> +                      $member->fileName, $filename, $rc;
>         close $fh;
>         chmod 0755, $filename;
>     }
>

Reply via email to