Tue Jun 14 12:58:04 2011: Request 68817 was acted upon. Transaction: Ticket created by nikos Queue: PAR-Packer Subject: Can't locate loadable object for module IO in @INC Broken in: 1.009 Severity: Critical Owner: Nobody Requestors: nikos...@gmail.com Status: new Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=68817 >
Building an executable with Strawberry Perl is successful but when actually running it (after we have renamed the c:/strawberry to c:/strawberryX so it cannot find the dependencies from the path), fails with the following errors : " Can't locate loadable object for module IO in @INC (@INC contains: C +ODE(0xa1d31c ) C:\strawberry\perl\vendor\lib .) at C:/strawberry/perl/site/lib/PAR/ +Heavy.pm line 103</p> Compilation failed in require at C:/strawberry/perl/lib/IO/Handle.pm l +ine 266. " I am on WinXP SP3 ,PAR 1.002,PAR::Packer 1.009, and have tried Strawberry Perl versions 5.12.3.0,5.10.1.5,5.10.1.1 and the problem persists in all of them perl -V reveals something strange with the backslashes: %ENV: PERL_JSON_BACKEND="JSON::XS" PERL_YAML_BACKEND="YAML" @INC: C:/strawberry/perl/lib C:/strawberry/perl/site/lib C:\strawberry\perl\vendor\lib . "C:\strawberry\perl\vendor\lib" is not consistent with the other entries I've found id 52794 which is related to the issue although it refers to version PAR::Packer 1.001. Nevertheless I got the following line : if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc } from the patch "proper-fix.patch" (the patch actually REMOVES this line) and added it to par.pl after line 540. I also corrected Strawberry's @INC , prepending the path "C:/strawberry/perl/vendor/lib" by setting the PERL5LIB env variable, rebuilt it and everything works fine and even tried it in machines that have no Perl installation whatsoever It looks like Strawberry has the path messed up and needs the correct one but also must be combined with "if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc }"