Re: compiling failed for vim 7.2 with perl 5.10

2008-09-01 Fir de Conversatie Bram Moolenaar


Dan Sharp wrote:

> 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.

Thanks, I'll include the patch.

-- 
How To Keep A Healthy Level Of Insanity:
1. At lunch time, sit in your parked car with sunglasses on and point
   a hair dryer at passing cars. See if they slow down.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

--~--~-~--~~~---~--~~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Re: compiling failed for vim 7.2 with perl 5.10

2008-08-29 Fir de Conversatie Cesar Romani

Dan Sharp wrote:
 > 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

Thanks a lot, it also works for me. Apparently on Linux works without
the patch as Tony pointed out. Moreover I had the #if statements for
Perl 5.10 at lines 270, 457 and 485.

Best regards,
Cesar


--~--~-~--~~~---~--~~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Re: compiling failed for vim 7.2 with perl 5.10

2008-08-29 Fir de Conversatie Tony Mechelynck

On 29/08/08 22:21, 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:
>   >>
>   >>  -
>   >>  ...
>   >>  Can't locate ExtUtils/ParseXS.pm in @INC (@INC contains:
>   >>  /usr/lib/perl5/5.6.1/msys /usr/lib/perl5/5.6.1
>   >>  /usr/lib/perl5/site_perl/5.6.1/msys /usr/lib/perl5/site_perl/5.6.1
>   >>  /usr/lib/perl5/site_perl .) at C:/perl/lib/ExtUtils/xsubpp line 4.
>   >>  BEGIN failed--compilation aborted at C:/perl/lib/ExtUtils/xsubpp line 4.
>   >>  make: *** [if_perl.c] Error 2
>   >>  -
>   >>
>   >  Looks like your compile process is using the perl executable in the
>   >  MSYS-DTK package, which is version 5.6.1.  I assume your perl 5.10 is
>   >  installed in c:\perl, so you need to make sure c:\perl\bin comes before
>   >  c:\msys\1.0\bin (or wherever you installed msys) in your %PATH% variable.
>   >
>   >  Dan
>
> Thanks a lot for your answer. I changed the order as you indicated but
> I'm getting the following error:
>
> -
> ...
> gcc -Iproto -DWIN32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 -DHAVE_PATHDEF
> -DFEAT_BIG -DHAVE_GETTEXT -DHAVE_LOCALE_H -DDYNAMIC_GETTEXT
> -DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
> -DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDYNAMIC_ICONV -pipe -w
> -march=i386 -Wall -IC:/perl/lib/Core -DFEAT_PERL -LC:/perl/lib/Core
> -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl510.dll\" -DFEAT_PYTHON -I
> c:/python25/include -DDYNAMIC_PYTHON
> -DDYNAMIC_PYTHON_DLL=\"python25.dll\" -O3 -fomit-frame-pointer
> -freg-struct-return -s -mwindows -o gvim.exe gobj/buffer.o
> gobj/charset.o gobj/diff.o gobj/digraph.o gobj/edit.o gobj/eval.o
> gobj/ex_cmds.o gobj/ex_cmds2.o gobj/ex_docmd.o gobj/ex_eval.o
> gobj/ex_getln.o gobj/fileio.o gobj/fold.o gobj/getchar.o gobj/hardcopy.o
> gobj/hashtab.o gobj/main.o gobj/mark.o gobj/memfile.o gobj/memline.o
> gobj/menu.o gobj/message.o gobj/misc1.o gobj/misc2.o gobj/move.o
> gobj/mbyte.o gobj/normal.o gobj/ops.o gobj/option.o gobj/os_win32.o
> gobj/os_mswin.o gobj/pathdef.o gobj/popupmnu.o gobj/quickfix.o
> gobj/regexp.o gobj/screen.o gobj/search.o gobj/spell.o gobj/syntax.o
> gobj/tag.o gobj/term.o gobj/ui.o gobj/undo.o gobj/version.o gobj/vimrc.o
> gobj/window.o gobj/if_perl.o gobj/if_python.o gobj/if_cscope.o
> gobj/netbeans.o gobj/gui.o gobj/gui_w32.o gobj/gui_beval.o
> gobj/os_w32exe.o -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32
> -lcomctl32 -lversion -lwsock32 -lole32 -luuid
> 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 Have Vim with Perl 5.10, built with gcc but on Linux, and I didn't get 
that error. Is there any way to get a link listing without recompiling, 
out of the unstripped executable at ~/.build/vim/vim72/src/vim and/or 
the objects at ~/.build/vim/vim72/src/*.o ? If there was, I could search 
for that symbol, see where it was defined (if_perl.xs doesn't use it 
directly).

-- You have the #if statements for Perl 5.10 at lines 270, 457 and 485 
of if_perl.xs don't you?


Best regards,
Tony.
-- 
Howe's Law:
Everyone has a scheme that will not work.

--~--~-~--~~~---~--~~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Re: compiling failed for vim 7.2 with perl 5.10

2008-08-29 Fir de Conversatie Dan Sharp
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},


Re: compiling failed for vim 7.2 with perl 5.10

2008-08-29 Fir de Conversatie Cesar Romani

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:
 >>
 >> -
 >> ...
 >> Can't locate ExtUtils/ParseXS.pm in @INC (@INC contains:
 >> /usr/lib/perl5/5.6.1/msys /usr/lib/perl5/5.6.1
 >> /usr/lib/perl5/site_perl/5.6.1/msys /usr/lib/perl5/site_perl/5.6.1
 >> /usr/lib/perl5/site_perl .) at C:/perl/lib/ExtUtils/xsubpp line 4.
 >> BEGIN failed--compilation aborted at C:/perl/lib/ExtUtils/xsubpp line 4.
 >> make: *** [if_perl.c] Error 2
 >> -
 >>   
 > Looks like your compile process is using the perl executable in the
 > MSYS-DTK package, which is version 5.6.1.  I assume your perl 5.10 is
 > installed in c:\perl, so you need to make sure c:\perl\bin comes before
 > c:\msys\1.0\bin (or wherever you installed msys) in your %PATH% variable.
 >
 > Dan

Thanks a lot for your answer. I changed the order as you indicated but
I'm getting the following error:

-
...
gcc -Iproto -DWIN32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 -DHAVE_PATHDEF
-DFEAT_BIG -DHAVE_GETTEXT -DHAVE_LOCALE_H -DDYNAMIC_GETTEXT
-DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
-DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDYNAMIC_ICONV -pipe -w
-march=i386 -Wall -IC:/perl/lib/Core -DFEAT_PERL -LC:/perl/lib/Core
-DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl510.dll\" -DFEAT_PYTHON -I
c:/python25/include -DDYNAMIC_PYTHON
-DDYNAMIC_PYTHON_DLL=\"python25.dll\" -O3 -fomit-frame-pointer
-freg-struct-return -s -mwindows -o gvim.exe gobj/buffer.o
gobj/charset.o gobj/diff.o gobj/digraph.o gobj/edit.o gobj/eval.o
gobj/ex_cmds.o gobj/ex_cmds2.o gobj/ex_docmd.o gobj/ex_eval.o
gobj/ex_getln.o gobj/fileio.o gobj/fold.o gobj/getchar.o gobj/hardcopy.o
gobj/hashtab.o gobj/main.o gobj/mark.o gobj/memfile.o gobj/memline.o
gobj/menu.o gobj/message.o gobj/misc1.o gobj/misc2.o gobj/move.o
gobj/mbyte.o gobj/normal.o gobj/ops.o gobj/option.o gobj/os_win32.o
gobj/os_mswin.o gobj/pathdef.o gobj/popupmnu.o gobj/quickfix.o
gobj/regexp.o gobj/screen.o gobj/search.o gobj/spell.o gobj/syntax.o
gobj/tag.o gobj/term.o gobj/ui.o gobj/undo.o gobj/version.o gobj/vimrc.o
gobj/window.o gobj/if_perl.o gobj/if_python.o gobj/if_cscope.o
gobj/netbeans.o gobj/gui.o gobj/gui_w32.o gobj/gui_beval.o
gobj/os_w32exe.o -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32
-lcomctl32 -lversion -lwsock32 -lole32 -luuid   
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


--~--~-~--~~~---~--~~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Re: compiling failed for vim 7.2 with perl 5.10

2008-08-29 Fir de Conversatie Dan Sharp

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:
>
> -
> ...
> Can't locate ExtUtils/ParseXS.pm in @INC (@INC contains:
> /usr/lib/perl5/5.6.1/msys /usr/lib/perl5/5.6.1
> /usr/lib/perl5/site_perl/5.6.1/msys /usr/lib/perl5/site_perl/5.6.1
> /usr/lib/perl5/site_perl .) at C:/perl/lib/ExtUtils/xsubpp line 4.
> BEGIN failed--compilation aborted at C:/perl/lib/ExtUtils/xsubpp line 4.
> make: *** [if_perl.c] Error 2
> -
>   
Looks like your compile process is using the perl executable in the
MSYS-DTK package, which is version 5.6.1.  I assume your perl 5.10 is
installed in c:\perl, so you need to make sure c:\perl\bin comes before
c:\msys\1.0\bin (or wherever you installed msys) in your %PATH% variable.

Dan

--~--~-~--~~~---~--~~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---