From: | Christophe Pettus <xof(at)thebuild(dot)com> |
---|---|
To: | pgsql-general list <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Extension rpath issues on MacOS |
Date: | 2022-09-16 21:06:59 |
Message-ID: | C8A430EA-8E71-4760-99FF-2851DD4B2F22@thebuild.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I'm attempting to build the pgspider JDBC foreign data wrapper on MacOS, and not having an enormously successful time. The driver source is at:
https://github.com/pgspider/jdbc_fdw
It (unsurprisingly) needs to link with libjvm.dylib, so I've included the path to it in the PostgreSQL ./configure LDFLAGS. (It's being built outside of contrib/ using PGXS.) It compiles and installs successfully, but can't find libjvm at runtime:
j=# create extension jdbc_fdw;
ERROR: could not load library "/usr/local/pgsql/lib/jdbc_fdw.so": dlopen(/usr/local/pgsql/lib/jdbc_fdw.so, 10): Library not loaded: @rpath/libjvm.dylib
Referenced from: /usr/local/pgsql/lib/jdbc_fdw.so
Reason: image not found
That's not a big surprise, because the .so uses @rpath in its path to libjvm:
$ otool -L /usr/local/pgsql/lib/jdbc_fdw.so
/usr/local/pgsql/lib/jdbc_fdw.so:
/usr/local/pgsql/lib/libpq.5.dylib (compatibility version 5.0.0, current version 5.14.0)
@rpath/libjvm.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
I could patch it with `install_name_tool`, but I'd like to keep the Makefile intact and non-MacOS-specific. Ideally, I'd like it use an absolute path there.
Has anyone encountered this situation (not libjvm in particular, just an external library using @rpath) during an extension build?
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2022-09-16 21:20:23 | Re: Extension rpath issues on MacOS |
Previous Message | Hilbert, Karin | 2022-09-16 20:01:49 | Re: New message in PostgreSQL log regarding socket for statistics collector |