Re: unix socket location confusion

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Scott Ribe <scott_ribe(at)elevated-dev(dot)com>
Cc: Postgres Maillist <pgsql-admin(at)postgresql(dot)org>
Subject: Re: unix socket location confusion
Date: 2015-03-22 22:43:10
Message-ID: 3533.1427064190@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

I wrote:
> Evidently your psql is linking to this libpq and not the one you built.
> You can fix that with suitable use of rpath; although I'm not sure why
> an out-of-the-box build doesn't do that for you. It works fine for
> me:

> $ otool -L ~/testversion/bin/psql
> /Users/tgl/testversion/bin/psql:
> /Users/tgl/testversion/lib/libpq.5.dylib (compatibility version 5.0.0, current version 5.8.0)
> /usr/lib/libedit.3.dylib (compatibility version 2.0.0, current version 3.0.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

> and I don't believe I'm using any nondefault switches to get that.

I poked around a bit more and remembered what it is that makes it work:
you need an -install_name switch when building libpq.dylib (and then the
link of psql has to be sure to reference that .dylib file). For example
I see this as part of the libpq link step:

-install_name '/Users/tgl/testversion/lib/libpq.5.dylib'

after having configured with "--prefix=/Users/tgl/testversion".

So this works only if your libpq.dylib is actually installed at the
location that was expected when you built it. The recipe you gave
looks like it should have done that, but I'm suspicious that the
answer is somewhere near here.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Scott Ribe 2015-03-22 23:26:27 Re: unix socket location confusion
Previous Message Tom Lane 2015-03-22 22:28:24 Re: unix socket location confusion