plperl - Mailing list pgsql-hackers

From Ragnar Hakonarson
Subject plperl
Date
Msg-id NEBBIFOICLBACOFMLADIMEBACAAA.rhakonarson@conquestnetwork.com
Whole thread Raw
List pgsql-hackers
Hi,

I have statically linked the DynaLoader with plperl.so and modified plperl.c
so that plperl functions executed do not execute within the 'safe
compartment'.

plperl.c have been changed as follows:
extern void boot_Opcode _((CV * cv));extern void boot_SPI _((CV * cv));extern void boot_DynaLoader _((CV* cv)); <------
Added
static void plperl_init_shared_libs(void) {       char *file = __FILE__;       dXSUB_SYS; <------- Added
       newXS("Opcode::bootstrap", boot_Opcode, file);       newXS("SPI::bootstrap", boot_SPI, file);
newXS("DynaLoader::boot_DynaLoader",boot_DynaLoader, file);
 
<--------added}


I then compile plperl.c as follows:
gcc -o blib/arch/auto/plperl/plperl.so  -shared -L/usr/local/lib plperl.oeloglvl.o SPI.o
/usr/lib/perl5/5.00503/i586-linux/auto/Opcode/Opcode.so-L/usr/lib/perl5/5.00503/i586-linux/CORE-lperl `perl
-MExtUtils::Embed-eccopts -e ldopts`
 



When I try to import a perl module that relies on a C module I get the
following error message:
ERROR:  creation of function failed : Can't load'/usr/lib/perl5/site_perl/5.005/i586-linux/auto/Pg/Pg.so' for modulePg:
/usr/lib/perl5/site_perl/5.005/i586-linux/auto/Pg/Pg.so:undefinedsymbol: PL_sv_undef at
/usr/lib/perl5/5.00503/i586-linux/DynaLoader.pmline169.
 
at /caseTracking/packages/SP.pm line 7 BEGIN failed--compilation abortedat /caseTracking/packages/SP.pm line 7.BEGIN
failed--compilationaborted at (eval 1) line 2.
 


Any ideas?

Regards
Ragnar



pgsql-hackers by date:

Previous
From: Hannu Krosing
Date:
Subject: Re: Thus spoke SQL3 (on OO)
Next
From: Chris Bitmead
Date:
Subject: Re: Thus spoke SQL3 (on OO)