On Wed, 19 Jul 2000, Carlos Villegas wrote:
> working. The problem is that some symbols used by plpgsql.so are
> defined in the postgres executable. However, when loading the
> library dynamically using the dlopen function, the
> caller symbols are not available to the shared object.
Yes, that's sort of what I (with the help of nm) was thinking too.
> Fortunately, there is a flag to export the caller symbols
> (in this case postgres) to the shared library. I got
> it from the man page of dlopen!
The Solaris 2.5.1 manpage only lists 3 RTLD_ flags but the dlfcn.h lists a
lot more ...
> The patch at the end should do the job.
It doesn't for me. I still get this in the create_function_2 regression
ERROR: Load of file
ld.so.1: /home/postgres/bin/postmaster: fatal: relocation error: file
CurrentMemoryContext: referenced symbol not found
Maybe this is a solaris 2.5.1/2.6 difference? Maybe there is a reason that
flag isn't mentioned in the manpage ...
I have tried to make very sure that there are no traces of the old
postgres binaries and libraries on the system, so I don't think that is it
(unless you need to do something silly like reboot to replace a .so on
Oh, well. It was never that important to me. Thanks for sending the patch,
it does look right but for some reason it doesn't seem to work. If someone
has other patches or want to guess things I may have done wrong I'll
gladly test that.
pgsql-ports by date
|Next:||From: Mark Dalphin||Date: 2000-07-18 21:55:35|
|Subject: Re: Shared library search paths|
|Previous:||From: Peter Eisentraut||Date: 2000-07-18 18:18:14|
|Subject: Shared library search paths|