Thanks so much -- that seems to have done it! The dll's had been in the PAR file, but apparently not in the right path. This did the trick. Thanks again!

Alan Stewart wrote:

On 23 Dec 2004 at 13:24, Mike Schroeder wrote:



I've been using PAR with wxPerl for quite a while and all seems fine. I just updated my win2k build box to PAR 0.86 and now things break (PAR 0.86 seems to work fine in Linux). Using the minimal.pl sample from wxPerl I try:

pp -o minwx.exe minimal.pl

And it builds minwx.exe without errors. When I try to run minwx.exe though, I first get a "Unable to Locate DLL" popup box that says:

The dynamic link library wxmsw252u_adv_vc_custom.dll could not be found in the specified path
C:\DOCUME~1\MIKESC~1\LOCALS~1\Temp\par-Mike_Schroeder\cache-1103829904;.;
C:\WINNT\System32;C:\WINNT\system;C:\WINNT;
C:\DOCUME~1\MIKESC~1\LOCALS~1\Temp\par-Mike_Schroeder\cache-1103829904;
C:\Perl\bin\;C:\WINNT\System32;C:\WINNT;C:\WINNT\System32\Wbem.


And on the console, I get:

C:\src>minwx.exe
Can't load 'C:\DOCUME~1\MIKESC~1\LOCALS~1\Temp\par-Mike_Schroeder\cache-11038299
04\2cb94e35.dll' for module Wx: load_file:The specified module could not be foun
d at C:/aperl58/lib/DynaLoader.pm line 231.
at ../blib/lib/PAR/Heavy.pm line 107
Compilation failed in require at script/minimal.pl line 14.
BEGIN failed--compilation aborted at script/minimal.pl line 14.


However, the offending dll (wxmsw252u_adv_vc_custom.dll) is indeed in the exe (double checked with winzip) in the lib\auto\Wx\ directory.

I also ran the automted_pp_test.pl and it is fine (except for test 31 i think).

My next test was to go back to an older version of PAR -- the ActiveState repository had 0.75 (eek) -- but it at least built functional wxPerl apps.

Is this a bug in PAR 0.86, or do I have a weird build environment?



PAR 0.86 has some changes to eliminate redundant unpacking, but that means that any DLL that is loaded indirectly by another DLL, rather than loaded by a Perl module needs to be packed with the -l option so it will be packed in a shared lib directory and unpacked into the temp directory next to the DLL that loads it, where it can be found.


        pp -l <full_path>/wxmsw252u_adv_vc_custom.dll -o minwx.exe minimal.pl

Alan Stewart



Reply via email to