The problem was described and fixed here (thanks to kmx):
http://www.mail-archive.com/win32-vanilla@perl.org/msg00343.html
strawberry-portable 5.12.3 needs the following patches:
diff -ru portable.orig\perl\vendor\lib\Portable\Config.pm
portable.new\perl\vendor\lib\Portable\Config.pm
--- portable.orig\perl\vendor\lib\Portable\Config.pm Wed Apr 13 02:
+20:12 2011
+++ portable.new\perl\vendor\lib\Portable\Config.pm Mon Oct 31 13:
+00:13 2011
@@ -32,7 +32,7 @@
and
length $conf->{$key}
and not
- $key =~ /^ld/
+ $key =~ /(^ld|^libpth$)/
) {
$self->{$key} = $conf->{$key};
next;
@@ -42,7 +42,7 @@
$root, split /\//, $conf->{$key},
); #join path to directory of portable perl with value
+ from
config file
}
- foreach my $key ( grep { /^ld/ } keys %$self ) { #linker confi
+g
variables
+ foreach my $key ( grep { /(^ld|^libpth$)/ } keys %$self ) { #l
+inker
config variables
next unless defined $self->{$key};
$self->{$key} =~ s/\$(\w+)/$self->{$1}/g;
}
diff -ru portable.orig\portable.perl portable.new\portable.perl
--- portable.orig\portable.perl Sun Feb 06 21:19:30 2011
+++ portable.new\portable.perl Mon Oct 31 12:59:14 2011
@@ -56,10 +56,12 @@
installvendorman3dir: ''
installvendorscript: 'perl/bin'
ld: g++.exe
- lddlflags: '-mdll -s -L"$archlib\CORE" -L"$libpth"'
- ldflags: '-s -L"$archlib\CORE" -L"$libpth"'
- ldflags_nolargefiles: '-s -L"$archlib\CORE" -L"$libpth"'
- libpth: c/lib
+ lddlflags: '-mdll -s -L"$archlib\CORE" -L"$_workaround1"'
+ ldflags: '-s -L"$archlib\CORE" -L"$_workaround1"'
+ ldflags_nolargefiles: '-s -L"$archlib\CORE" -L"$_workaround1"'
+ _workaround1: c/lib
+ _workaround2: c/i686-w64-mingw32/lib
+ libpth: $_workaround1 $_workaround2
perlpath: perl/bin/perl.exe
prefix: perl
prefixexp: perl
Cheers, Christoph