Obtained from: http://archives.postgresql.org/pgsql-hackers/2011-04/msg01283.php Reference: http://search.cpan.org/~jesse/perl-5.14.0/pod/perldelta.pod#GvCV()_and_GvGP()_are_no_longer_lvalues --- src/pl/plperl/plperl.c.orig 2011-04-15 11:15:53.000000000 +0800 +++ src/pl/plperl/plperl.c 2011-05-19 20:39:34.126713700 +0800 @@ -685,7 +685,7 @@ if (!isGV_with_GP(sv) || !GvCV(sv)) continue; SvREFCNT_dec(GvCV(sv)); /* free the CV */ - GvCV(sv) = NULL; /* prevent call via GV */ + GvCV_set(sv, NULL); /* prevent call via GV */ } hv_clear(stash); --- src/pl/plperl/plperl.h.orig 2011-04-15 11:15:53.000000000 +0800 +++ src/pl/plperl/plperl.h 2011-05-19 20:39:34.127713548 +0800 @@ -43,6 +43,11 @@ #undef bool #endif +/* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */ +#ifndef GvCV_set +#define GvCV_set(gv, cv) (GvCV(gv) = cv) +#endif + /* routines from spi_internal.c */ int spi_DEBUG(void); int spi_LOG(void);