Thread: PL/Perl build problem: error:‘OP_SETSTATE’ undeclared

PL/Perl build problem: error:‘OP_SETSTATE’ undeclared

From
Peter Eisentraut
Date:
It appears that a recent Perl version (I have 5.14.2) has eliminated
OP_SETSTATE, which causes the current PostgreSQL build to fail:

plperl.c: In function ‘_PG_init’:
plperl.c:442:5645: error: ‘OP_SETSTATE’ undeclared (first use in this function)
plperl.c:442:5645: note: each undeclared identifier is reported only once for each function it appears in

I don't know the significance of this.  Could someone investigate
please?




Re: [HACKERS] PL/Perl build problem: error: ‘OP_SETSTATE’ undeclared

From
Alex Hunsaker
Date:


On Sun, Aug 12, 2012 at 9:57 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
It appears that a recent Perl version (I have 5.14.2) has eliminated
OP_SETSTATE, which causes the current PostgreSQL build to fail:

plperl.c: In function ‘_PG_init’:
plperl.c:442:5645: error: ‘OP_SETSTATE’ undeclared (first use in this function)
plperl.c:442:5645: note: each undeclared identifier is reported only once for each function it appears in

Hrm, Thats strange, PLPERL_SET_OPMASK() is generated by plperl_opmask.pl-- that should use whatever OP's your current perl has defined (They come from the "use Opcode" at the top and unless you somehow installed a different Opcode module than what your perl has...).

Im running a non threaded 5.16.0 and I don't see OP_SETSTATE anywhere:
$ pwd
/home/alex/src/postgresql/src/pl/plperl
$ grep -RI 'OP_SETSTATE' *
$

I know i've used 5.14 in the past successfully.  Wat happens if you regenerate plperl_opmask.h? (rm plperl_opmask.h && make)

Re: Re: [HACKERS] PL/Perl build problem: error:‘OP_SETSTATE’ undeclared

From
Peter Eisentraut
Date:
On Tue, 2012-08-14 at 20:58 -0600, Alex Hunsaker wrote:
> I know i've used 5.14 in the past successfully.  Wat happens if you
> regenerate plperl_opmask.h? (rm plperl_opmask.h && make)

Yeah, it seems to have something to do with a perl upgrade happening
between builds.  It was fixed by building from scratch.