Re: dynloader and PLs [was: plperl intial pass]

From: "Mark Hollomon" <mhh(at)nortelnetworks(dot)com>
To: Jan Wieck <jwieck(at)debis(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: dynloader and PLs [was: plperl intial pass]
Date: 1999-07-27 18:06:25
Message-ID: 379DF521.73DECD66@americasm01.nt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jan Wieck wrote:
>
> Mark Hollomon wrote:
>
> > I had a patch to change the way dynloader worked on linuxelf,
>
> I don't think you should change the entire dynamic loader of
> PostgreSQL for it. This could be a can of worms and you
> should be happy that these problems showed up already on your
> development platform. I don't expect that you're willing to
> fix the dynamic loading under AIX, HP-UX and Solaris too
> (maybe you can't because the lack of appropriate
> environment).
>

The problem is that perl and postgres disagree as how to do
the dynamic loading. postgres (on linux) _Always_ use aout
style dynamic loading. Perl checks to see if the system is ELF
and use dlopen if it is. On my ELF system then, postgres is
loading plperl.so with dl_open (?). Then perl is loading
Opcode.so using dlopen. The problem seems to be that the symbols
from libperl.a (in plperl.so) are not available for resolving
missing symbols in Opcode.so. The error message basically mentions
every perl symbol as 'unresolved'.

I noticed in another thread that D'Arcy is strugling with a similar
problem in NetBSD.

On my system, once I got postgres and perl to agree on how to do
dynamic loading, I got XS stuff working. The code is (mostly)
already in plperl.c, but ifdef'ed out.

--

Mark Hollomon
mhh(at)nortelnetworks(dot)com
ESN 451-9008 (302)454-9008

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Hub.Org News Admin 1999-07-27 18:08:15
Previous Message Todd Vierling 1999-07-27 18:00:28 Re: More on shared objects problem