I thought I'd tried pgAccess back in the dim past with success, but as
of current sources it fails on HPUX 10.20 and Tcl 8.3.2:
$ pgaccess regression
Error in startup script: couldn't load file "libpgtcl.sl": no such file or directory while executing
"load libpgtcl[info sharedlibextension]" (procedure "main" line 3) invoked from within
"main $argc $argv" (file "/home/postgres/testversion/share/pgaccess/main.tcl" line 249)
$
The problem here is that Tcl does not do dynamic path searching, even
if you give it the necessary environment-variable setting:
$ SHLIB_PATH="/home/postgres/testversion/lib:." wish
% load libpgtcl.sl
/usr/lib/dld.sl: Can't open shared library: libpgtcl.sl
/usr/lib/dld.sl: No such file or directory
couldn't load file "libpgtcl.sl": no such file or directory
% load /home/postgres/testversion/lib/libpgtcl.sl
[ works fine ]
And the reason for *that* is that Tcl doesn't pass the DYNAMIC_PATH flag
to shl_load(). I find that sourceforge.net already has a couple of bug
reports posted on this, so perhaps the Tcl guys will get their act
together and add the flag in Tcl 8.4, but in the meantime I think we
have very little choice except to specify the full path to the library
in pgaccess' load command.
Does anyone object if I modify pgaccess so that it always specifies the
full path to the library? That seems like it'd be a good idea even on
OSes without this quirk, because it'd ensure getting the matching
version of libpgtcl and libpq even if your SHLIB_PATH/LD_LIBRARY_PATH
points to some other version.
regards, tom lane