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: CODE(0xa1d31c
) C:\strawberry\perl\vendor\lib .) at C:/strawberry/perl/site/lib/PAR/Heavy.pm l
ine 103
Compilation failed in require at C:/strawberry/perl/lib/IO/Handle.pm line 266.
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/IO/Handle.pm line 26
6.
Compilation failed in require at C:/strawberry/perl/lib/IO/Seekable.pm line 101.
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/IO/Seekable.pm line
101.
Compilation failed in require at C:/strawberry/perl/lib/IO/File.pm line 133.
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/IO/File.pm line 133.
Compilation failed in require at -e line 351. "
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 :
I also corrected Strawberry's @INC by 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.
Furthemore "if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc }" satisfies Heavy.pm
" Can't locate loadable object for module IO in @INC (@INC contains: CODE(0xa1d31c
) C:\strawberry\perl\vendor\lib .) at C:/strawberry/perl/site/lib/PAR/Heavy.pm l
ine 103
Compilation failed in require at C:/strawberry/perl/lib/IO/Handle.pm line 266.
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/IO/Handle.pm line 26
6.
Compilation failed in require at C:/strawberry/perl/lib/IO/Seekable.pm line 101.
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/IO/Seekable.pm line
101.
Compilation failed in require at C:/strawberry/perl/lib/IO/File.pm line 133.
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/IO/File.pm line 133.
Compilation failed in require at -e line 351. "
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 :
from the patch (the patch actually REMOVES this line!!) and added it to par.pl after line 540."if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc }"
I also corrected Strawberry's @INC by 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.
Furthemore "if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc }" satisfies Heavy.pm
Comments