plperl failure on OS X 10.5(.1) - Mailing list pgsql-hackers

From B. Maust
Subject plperl failure on OS X 10.5(.1)
Date
Msg-id Pine.LNX.4.62.0711202315120.27045@martha.mausts.net
Whole thread Raw
Responses Re: plperl failure on OS X 10.5(.1)  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-hackers
I mentioned in #postgres a bit ago to no avail that I couldn't get my 
plperl stored procedures to work after upgrading to OS X 10.5, with only a 
obtuse "ERROR: null prosrc".  I was using 8.2.4 and didn't want to make a 
big deal about a non-current release, but today I had a chance to build 
8.3 and 8.2.5 and am seeing the same behavior.

I don't see 10.5 in the build farm list, so I thought I would ask if this 
is a known issue.

A synopsis:
configure, make and install a fresh postgres and database (configured 
--with-perl --with-python --with-openssl).  This is on my G4 powerbook.
createlang pgperl
attempt to create a perl function, e.g. the perl_max function from the 
docs (http://www.postgresql.org/docs/8.2/static/plperl-funcs.html):
$ cat perlmax.pl.sql 
CREATE FUNCTION perl_max (integer, integer) RETURNS integer AS $$    if ($_[0] > $_[1]) { return $_[0]; }    return
$_[1];
$$ LANGUAGE plperl;
$ ~/local/pg-8.3b3/bin/psql -f perlmax.pl.sql test
psql:perlmax.pl.sql:4: ERROR:  null prosrc

there were a few warnings building plperl:

gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-statement
-Wendif-labels-fno-strict-aliasing  -I. -I../../../src/include
-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE -c -o 
 
plperl.c: In function '_PG_initg:
plperl.c:191: warning: passing argument 4 of 'DefineCustomBoolVariableg from incompatible pointer type
plperl.c: In function 'compile_plperl_functiong:
plperl.c:1624: warning: passing argument 4 of 'SysCacheGetAttrg from incompatible pointer type
plperl.c:1652: warning: passing argument 4 of 'hash_searchg from incompatible pointer type
plperl.c: In function 'plperl_hash_from_tupleg: 
plperl.c:1685: warning: passing argument 4 of 'nocachegetattrg from incompatible pointer type
plperl.c:1685: warning: passing argument 4 of 'nocachegetattrg from incompatible pointer type
plperl.c:1685: warning: passing argument 4 of 'heap_getsysattrg from incompatible pointer type
plperl.c:1696: warning: passing argument 3 of 'getTypeOutputInfog from incompatible pointer type
plperl.c: In function 'plperl_return_nextg:
plperl.c:1926: warning: passing argument 3 of 'heap_form_tupleg from incompatible pointer type
plperl.c: In function 'plperl_spi_prepareg:
plperl.c:2229: warning: passing argument 4 of 'hash_searchg from incompatible pointer type

nothing fatal... and a more worrisome warning when linking libperl:

gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-statement
-Wendif-labels-fno-strict-aliasing  -bundle -multiply_defined suppress  plperl.o spi_internal.o SPI.o -L/usr/local/lib
-L/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE-L../../../src/port -arch i386 -arch ppc
/System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a-lperl -ldl -lm -lutil -lc
-bundle_loader../../../src/backend/postgres  -o libplperl.0.0.so
 
ld: warning in ../../../src/backend/postgres, file is not of required architecture
ld: warning in plperl.o, file is not of required architecture
ld: warning in spi_internal.o, file is not of required architecture
ld: warning in SPI.o, file is not of required architecture

I don't have terribly much time to figure out the guts of plperl, but 
would be glad to provide any more information or a login to an OS 10.5 
host if that can help...

Thanks for everything,
--
Brandon Maust, Research Consultant
Mullins Lab, University of Washington School of Medicine


pgsql-hackers by date:

Previous
From: "Albe Laurenz"
Date:
Subject: Re: backup_label and server start
Next
From: Simon Riggs
Date:
Subject: Re: backup_label and server start