pravincar@gmail.com writes:
> I have installed 9.5beta2 on my machine from source with the following
> configure statement.
> ./configure --prefix=/usr/local/pgsql95b/ --with-openssl
> --with-includes=/usr/local/Cellar/openssl/1.0.2d_1/include/
> The server has started successfully and I can connect to it with psql
> (version 9.4) but on running psql (version 9.5) I get the following error.
> psql (9.5beta2)
> dyld: lazy symbol binding failed: Symbol not found: _PQsslInUse
> Referenced from: /usr/local/pgsql95b/bin/psql
> Expected in: /usr/lib/libpq.5.dylib
What you need to figure out is why the linker is selecting the (ancient)
/usr/lib copy of libpq.dylib, rather than the 9.5 version you presumably
installed in /usr/local/pgsql95b/lib/. Perhaps you changed your mind
about the installation prefix somewhere along the line? The
"-install_name" switch given while linking libpq.dylib during the build
process would determine where psql tries to find libpq at execution ---
but I think it will fall back to looking in /usr/lib if it doesn't find
it in the expected directory, and that looks to be what's happening here.
Applying "otool -L" to your psql executable should provide a hint where
it's going to look for libpq.
regards, tom lane