When you see this type of error (missing perl symbol), the thing to try is this

First run cpanp -i Devel::PPPort

then from within BeginLift directory run  perl -MDevel::PPPort -e Devel::PPPort::WriteFile();

then run  perl ppport.h --patch=the.patch

then run  patch < the.patch

then run  make realclean then  perl Makefile.PL && make

When I tried this I got

$ perl ppport.h --patch=the.patch Scanning ./BeginLift.xs ... === Analyzing ./BeginLift.xs === Uses INT2PTR, which depends on PTRV Uses PTR2IV, which depends on INT2PTR, PTRV Uses SvREFCNT_inc, which depends on PL_Sv, SvREFCNT Uses aTHX Uses aTHX_ Uses newRV_inc, which depends on newRV Uses pTHX_ *** WARNING: Uses LINKLIST, which may not be portable below perl 5.13. +6, even with 'ppport.h' *** WARNING: Uses sv_derived_from, which may not be portable below per +l 5.004, even with 'ppport.h' Needs to include 'ppport.h' Analysis completed (2 warnings)

The warning had me curious, so the next thing I check is

$ objdump -p C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl514.dll | + grep pad [ 47] PL_ppaddr [ 346] Perl_get_ppaddr [ 648] Perl_pad_findmy [ 649] Perl_pad_push [ 765] Perl_save_padsv_and_mortalize

Hmm, doesn't look good, so I grep the source http://perl5.git.perl.org/perl.git?a=search&h=HEAD&st=grep&s=pad_swipe and see

embed.h 1173 #define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b) op.c 671 pad_swipe(cPADOPo->op_padix, TRUE); 699 pad_swipe(o->op_targ,1); 716 pad_swipe(cPADOPo->op_padix, TRUE); 737 pad_swipe(cPMOPo->op_pmreplrootu.op_pmtargetoff, TRUE +); 3072 pad_swipe(o->op_targ, FALSE); pad.c 1496 =for apidoc m|void|pad_swipe|PADOFFSET po|bool refadjust 1505 Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust) 1508 ASSERT_CURPAD_LEGAL("pad_swipe"); 1512 Perl_croak(aTHX_ "panic: pad_swipe curpad, %p!=%p", 1515 Perl_croak(aTHX_ "panic: pad_swipe po=%ld, fill=%ld", 1705 /* XXX DAPM integrate with pad_swipe ???? */

To me that means there is no way that is going to work (at least on win32) without compiling a new perl which explicitly exports pad_swipe -- or copy/pasting pad_swipe code into BeginLift.xs -- this has happened before with Devel/B:: modules :) the cost of being on win32

The http://matrix.cpantesters.org/?dist=Devel-BeginLift+0.001003 confirms this, there are no win32 PASS grades

Please report bug upstream to BeginLift author


In reply to Re: Devel::BeginLift make problem by Anonymous Monk
in thread Devel::BeginLift make problem by mascip

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.