Subject: | MinGW main.o:main.c:(.text+0xe): undefined reference to `Perl_get_context' |
ActivePerl-5.8.9.825-MSWin32-x86-288577
with 'ppm install MinGW'
same as bug reported
http://www.nntp.perl.org/group/perl.par/2009/04/msg4019.html
...
Note (probably harmless): No library found for perl58.lib
...
gcc -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
-DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields
-I"C:\Perl\lib\CORE" main.c
g++ main.o my_par_pl.o win32.coff -s -L"C:\Perl\lib\CORE" -o
par.exe
solution is to edit PAR-Packer-0.992_01/myldr/Makefile.PL
--- Makefile.PL-old 2009-07-20 11:03:17.031250000 -0700
+++ Makefile.PL 2009-07-20 11:10:39.046875000 -0700
@@ -122,8 +122,15 @@
}
+my $perl58lib = "";
+if($ENV{ACTIVEPERL_MINGW} and $Config{cf_email}=~/ActiveState.com/i){
+ chomp $pldflags;
+ $perl58lib = "-l$Config{libperl}";
+ $perl58lib =~ s/\.lib$//;
+}
my $cflags = "$ccdebug$warn$pccflags";
-my $ldflags = "$lddebug$pldflags";
+my $ldflags = "$lddebug$pldflags $perl58lib";
+
my $static_ldflags = $ldflags;
$static_ldflags =~ s/\s+-lperl\s+/ /g;
its kind of a kludge, but both strawberryperl and activeperl set
ACTIVEPERL_MINGW, and adding perl58lib would break strawberryperl