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

Lists: pgsql-hackers
From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: PL/Perl build problem: error: ‘OP_SETSTATE’ undeclared
Date: 2012-08-13 03:57:20
Message-ID: 1344830240.8485.4.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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?


From: Alex Hunsaker <badalex(at)gmail(dot)com>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] PL/Perl build problem: error: ‘OP_SETSTATE’ undeclared
Date: 2012-08-15 02:58:06
Message-ID: CAFaPBrSQ_uQLj2qHYS4i3NbPf2dS8PRYzHh9Gz=4O=RRiH28gA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Sun, Aug 12, 2012 at 9:57 PM, Peter Eisentraut <peter_e(at)gmx(dot)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)


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Alex Hunsaker <badalex(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Re: [HACKERS] PL/Perl build problem: error: ‘OP_SETSTATE’ undeclared
Date: 2012-08-15 04:03:06
Message-ID: 1345003386.17599.20.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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.