Cesar Romani wrote:
> Dan Sharp wrote:
> > Cesar Romani wrote:
> >> I'm using the Ming compiler on Win XP Pro.
> >> Compiling vim 7.2 with perl 5.8 works,
> >> but when I try to compile vim 7.2 with perl 5.10 it fails:
> >>
>
> Thanks a lot for your answer. I changed the order as you indicated but
> I'm getting the following error:
>
> ---------
> ...
> gobj/if_perl.o:if_perl.c:(.text+0x8ff): undefined reference to
> `Perl_sv_free2'
> gobj/if_perl.o:if_perl.c:(.text+0x1106): undefined reference to
> `Perl_sv_free2'
> collect2: ld returned 1 exit status
> make: *** [gvim.exe] Error 1
> ---------
>
> With Perl 5.8 I don't get any errors and the compiling is flawless.
> Many thanks in advance,
> Cesar
>
I was able to reproduce your problem using ActiveState ActivePerl 5.10.
The attached patch adds Perl_sv_free2 to if_perl.xs and fixes the
problem for me. See if it works for you.
Dan
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---
*** ../vim72-006/src/if_perl.xs Thu Jul 17 16:55:09 2008
--- src/if_perl.xs Fri Aug 29 16:34:35 2008
***************
*** 136,141 ****
--- 136,144 ----
# define Perl_newXS_flags dll_Perl_newXS_flags
#endif
# define Perl_sv_free dll_Perl_sv_free
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+ # define Perl_sv_free2 dll_Perl_sv_free2
+ # endif
# define Perl_sv_isa dll_Perl_sv_isa
# define Perl_sv_magic dll_Perl_sv_magic
# define Perl_sv_setiv dll_Perl_sv_setiv
***************
*** 268,273 ****
--- 271,277 ----
static void (*boot_DynaLoader)_((pTHX_ CV*));
#if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+ static void (*Perl_sv_free2)(pTHX_ SV*);
static void (*Perl_sys_init3)(int* argc, char*** argv, char*** env);
static void (*Perl_sys_term)(void);
static SV** (*Perl_ISv_ptr)(register PerlInterpreter*);
***************
*** 367,372 ****
--- 371,377 ----
{"Perl_TXpv_ptr", (PERL_PROC*)&Perl_TXpv_ptr},
{"Perl_Tna_ptr", (PERL_PROC*)&Perl_Tna_ptr},
#else
+ {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2},
{"Perl_sys_init3", (PERL_PROC*)&Perl_sys_init3},
{"Perl_sys_term", (PERL_PROC*)&Perl_sys_term},
{"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr},