pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ragnar Hakonarson <rhakonarson@conquestnetwork.com>
To: pgsql-general@postgresql.org
To: pgsql-interfaces@postgresql.org
To: pgsql-novice@postgresql.org
Subject: plperl difficulties
Date: Mon, 22 May 2000 19:54:59 +0100
Message-ID: <NEBBIFOICLBACOFMLADIGECCCAAA.rhakonarson@conquestnetwork.com> (raw)

Hi,

I have statically linked the DynaLoader with plperl.so and modified plperl.c
so that plperl functions executes 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.o
	eloglvl.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 -e
	ccopts -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 module
	Pg: /usr/lib/perl5/site_perl/5.005/i586-linux/auto/Pg/Pg.so: undefined
	symbol: PL_sv_undef at /usr/lib/perl5/5.00503/i586-linux/DynaLoader.pm
	line 169.

	at /caseTracking/packages/SP.pm line 7 BEGIN failed--compilation aborted
	at /caseTracking/packages/SP.pm line 7.
	BEGIN failed--compilation aborted at (eval 1) line 2.


Any ideas?

Any help is highly appreciated :)

Regards
Ragnar




Message-ID: <NEBBIFOICLBACOFMLADIGECCCAAA.rhakonarson@conquestnetwork.com>
Permalink:  ../NEBBIFOICLBACOFMLADIGECCCAAA.rhakonarson@conquestnetwork.com/
Also on:    postgresql.org/message-id/NEBBIFOICLBACOFMLADIGECCCAAA.rhakonarson@conquestnetwork.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: rhakonarson@conquestnetwork.com, pgsql-general@postgresql.org, pgsql-novice@postgresql.org
  Subject: Re: plperl difficulties
  In-Reply-To: <NEBBIFOICLBACOFMLADIGECCCAAA.rhakonarson@conquestnetwork.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox