[Thinking out loud / talking to myself...]

Steve Hay wrote:

>A straight out-of-the-box build of PAR-0.87 with perl-5.8.7 on Win32 
>doesn't work.  It worked fine with perl-5.8.6.
>
>Simply running "parl.exe" should output a short usage message.  Under 
>perl-5.8.6 it does, but under perl-5.8.7 I get the error:
>
>Can't locate Config_heavy.pl in @INC (@INC contains: CODE(0x8c7b60) .) 
>at C:/perl5/lib/Config.pm line 66.
>
OK, after building a debug version I've found the source of parl.exe.

It seems that the installed C:\perl5\bin\parl.exe (>1MB in size) is 
actually myldr\static.c, which extracts a bunch of files into a 
temporary directory, one of which is also called parl.exe (but only 
~50kB in size), and then runs that small parl.exe.  It is the small 
parl.exe, whose source code is myldr\main.c, that emits the error.

However, if I cd to the temporary directory (which I notice the large 
parl.exe leaves behind, along with hundreds of others from previous runs 
:-s...) and then run the small parl.exe manually then it works fine, 
outputting a usage message as expected!  The small parl.exe in the 
temporary directory even runs when I haven't cd'd into that directory.

I noticed also that amongst the other files extracted into the temporary 
directory are a bunch of .pm files, one of which is Config.pm, and a 
single .pl file, which is Config_heavy.pl.  The fact that 
Config_heavy.pl is the only .pl file got me wondering, so just as a test 
I tried renaming Config_heavy.pl to Config_heavy.pm in my Perl 
installation, and editing Config.pm to say just

require Config_heavy;

rather than

requrie 'Config_heavy.pl';

After rebuilding PAR with this hacked Perl installation, I now find that 
everything works!  parl.exe outputs a usage message, pp produces 
executables, the executables run...

So why can't the small parl.exe find .pl files under some 
circumstances?  Is there anything in the magic coderef @INC stuff that 
PAR uses that could be the cause?



------------------------------------------------
Radan Computational Ltd.

The information contained in this message and any files transmitted with it are 
confidential and intended for the addressee(s) only.  If you have received this 
message in error or there are any problems, please notify the sender 
immediately.  The unauthorized use, disclosure, copying or alteration of this 
message is strictly forbidden.  Note that any views or opinions presented in 
this email are solely those of the author and do not necessarily represent 
those of Radan Computational Ltd.  The recipient(s) of this message should 
check it and any attached files for viruses: Radan Computational will accept no 
liability for any damage caused by any virus transmitted by this email.

Reply via email to