| From: | Craig Ringer <ringerc(at)ringerc(dot)id(dot)au> |
|---|---|
| To: | Craig James <cjames(at)emolecules(dot)com> |
| Cc: | pgsql-admin(at)postgresql(dot)org |
| Subject: | Re: 9.2 won't load C-language function |
| Date: | 2012-10-11 05:08:30 |
| Message-ID: | 5076544E.60307@ringerc.id.au |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
On 10/11/2012 02:22 AM, Craig James wrote:
> I have a C-language function I've been using on 8.4 for a long time. On
> 9.2 it won't load:
>
> test=# set search_path = public;
> SET
> test=# CREATE OR REPLACE FUNCTION chmoogle_session_id() RETURNS integer
> AS '/usr/local/pgsql/lib/libchmoogle.so', 'chmoogle_session_id'
> LANGUAGE c VOLATILE;
> ERROR: could not load library "/usr/local/pgsql/lib/libchmoogle.so":
> libopenbabel.so.4: cannot open shared object file: No such file or directory
What does `ldd /usr/local/pgsql/lib/libchmoogle.so` say? What about when
run under the PostgreSQL user account?
You may need to set LD_LIBRARY_PATH in the Pg startup script, or modify
ld.so.conf, or re-build your extension with rpath linking enabled.
As for why it worked with 8.4 - I expect you either altered
LD_LIBRARY_PATH in the 8.4 startup scripts, or maybe the 8.4 version of
the extension was built with -Wl,-rpath so the paths to required
libraries were embedded into the extension library.
--
Craig Ringer
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2012-10-11 14:11:36 | Re: Pg 8.3.x on RHEL 6.3? |
| Previous Message | Craig Ringer | 2012-10-11 05:05:12 | Re: Pg 8.3.x on RHEL 6.3? |