Search Postgresql Archives

Extension rpath issues on MacOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux