From: Craig James <craig_james@emolecules.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-admin@postgresql.org
Subject: Re: 8.3 to 8.4 - Can't load dynamic shared library
Date: Thu, 15 Jul 2010 13:39:37 -0700
Message-ID: <4C3F7209.4060908@emolecules.com> (raw)
In-Reply-To: <10698.1279223535@sss.pgh.pa.us>
References: <4C3F583C.50208@emolecules.com>
<10698.1279223535@sss.pgh.pa.us>
On 7/15/10 12:52 PM, Tom Lane wrote:
> Craig James<craig_james@emolecules.com> writes:
>> On the Postgres 8.3 system, I simply put libopenbabel.so into the /usr/local/pgsql/lib directory, and everything worked well. On 8.4, I can't seem to get it to load libopenbabel.so. Other programs that use this library have no trouble finding it.
>
>> What (if anything) has changed from 8.3 to 8.4 regarding how it finds
> and links dynamic libraries?
>
> Nothing. I think this more likely is a consequence of your platform
> switch from Fedora to Ubuntu. I'm not sure how the dynamic linker's
> search path is defined on Ubuntu, but it might be different. Or
> possibly it's the same but you forgot about making an /etc/ld.so.conf.d
> entry on the new machine, or didn't run ldconfig afterwards.
We don't use /etc/ld.so.conf.d, and never have.
On 8.3.10 and earlier, Postgres would ONLY load this library if we put it in /usr/local/pgsql/lib, so I figured it was a security restriction, that Postgres altered the LD_LIBRARY_PATH to ensure that only legitimate, admin-approved libraries could be loaded. The Postgres documentation sort of hints at this but doesn't give details.
Is this true, that Postgres restricts the dynamic linker in some way? And if so, is there documentation?
Craig
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-admin@postgresql.org
Cc: craig_james@emolecules.com, tgl@sss.pgh.pa.us
Subject: Re: 8.3 to 8.4 - Can't load dynamic shared library
In-Reply-To: <4C3F7209.4060908@emolecules.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