Postgresql6.3.2 libdld and the twilight zone.

Started by Donald Delmar Davisalmost 28 years ago2 messageshackers
Jump to latest
#1Donald Delmar Davis
don@3dangst.com

I am running up the new version of posgresql on my 10.20 box.

I am compiling with gcc.2.7.2
I am using the -fPIC -DPIC -fno-gnu-linker flags but the weirdest thing
happens with the front end.

/usr/lib/dld.sl: Can't open shared library: ../../interfaces/libpq/libpq.sl
/usr/lib/dld.sl: No such file or directory

Oddly enough it works fine from the source tree.

do-de do do.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Donald Delmar Davis (#1)
Re: [HACKERS] Postgresql6.3.2 libdld and the twilight zone.

Donald Delmar Davis <don@3dangst.com> writes:

I am running up the new version of posgresql on my 10.20 box.
/usr/lib/dld.sl: Can't open shared library: ../../interfaces/libpq/libpq.sl
/usr/lib/dld.sl: No such file or directory
Oddly enough it works fine from the source tree.

The problem is that you don't have a good path to the installed
libpq.sl. The HP executables created by the 6.3.2 release only have the
relative path that you see above; if you're not in a directory such
that that relative path finds libpq.sl, you lose.

Quickest workaround is to set SHLIB_PATH environment variable to
point to the installed lib directory. (You might also have to
tweak the executables to get them to pay attention to SHLIB_PATH;
see chatr(1) to find out how to check and change this setting.)

I submitted HPUX patches a week or two ago that include a real fix
for this, namely embedding the name of the installed lib directory
into the executables so that they work without needing SHLIB_PATH.
I dunno if these patches have gotten into the current snapshots,
but you can look in the pgsql-patches mail list archive for them.

BTW you also need to make sure libpq.sl has permissions 555.

regards, tom lane