Hi,
I currently have the following problem:
I build an excutable that runs fine on the machine where
I built it. But if run on another machine that doesn't have Perl
installed (or after renaming my Perl installation) I get 
the following error

Can't locate loadable object for module IO in @INC (@INC contains:
CODE(0x87c98c) .) at ../blib/lib/PAR/Heavy.pm at line 101

The reason is that IO.dll isn't included in the second stage
bootstrap stuff (the one that gets extract from the packed excutable
by pure perl methods). I scanned the executable file for the
"FILE checksum/name" markers and IO.dll (and some others like
Cwd.dll) aren't there.

I chased this down to the section "Write bundled methods" in par.pl.
There files gleaned from %INC are matched against dirs in @inc.
Now the original @INC (which is a subset of @inc) contains
Perl's module paths in long-name form. But for some strange
reason, the file names in "values %INC" have the short (8.3) form,
hence the match fails and the file doesn't get written.

Versions used: 
OS: WinXP Professional 2002 SP1
Perl: ActiveState 5.8.0
PAR: 0.76

Cheers, Roderich

Reply via email to