BUG #13801: Error while starting psql

Started by Pravin Carvalhoover 10 years ago3 messagesbugs
Jump to latest
#1Pravin Carvalho
pravincar@gmail.com

The following bug has been logged on the website:

Bug reference: 13801
Logged by: Pravin Carvalho
Email address: pravincar@gmail.com
PostgreSQL version: 9.5beta1
Operating system: OS X El Capitan
Description:

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

dyld: Symbol not found: _PQsslInUse
Referenced from: /usr/local/pgsql95b/bin/psql
Expected in: /usr/lib/libpq.5.dylib

Trace/BPT trap: 5

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Pravin Carvalho (#1)
Re: BUG #13801: Error while starting psql

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

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#3Pravin Carvalho
pravincar@gmail.com
In reply to: Tom Lane (#2)
Re: BUG #13801: Error while starting psql

Thanks Tom! You were absolutely right. It was picking the older copy of
libpq.dylib. I just started with the fresh files and it works now.

On Sun, Dec 6, 2015 at 10:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Show quoted text

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