On ons, 2010-05-05 at 19:20 -0400, Tom Lane wrote:
> Over at
> http://archives.postgresql.org/pgsql-general/2010-05/msg00091.php
> we have a complaint about "make check" failing when the install is
> intended to overwrite existing libraries (in particular, replacing
> 8.4 with 9.0 libpq).  I've done some off-list investigation and
> found that this appears to be a generic issue on Linux.  pg_regress
> invokes psql, which depends on libpq.so, and if psql fails due to
> picking up the wrong libpq.so then you get behavior as described.

Yeah, that's been broken since forever.

>  The shared libraries needed by the program are searched for in the fol-
>        lowing order:
> 
>        o  (ELF only) Using the directories specified in the  DT_RPATH  dynamic
>           section  attribute of the binary if present and DT_RUNPATH attribute
>           does not exist.  Use of DT_RPATH is deprecated.
> 
>        o  Using the environment variable LD_LIBRARY_PATH.  Except if the  exe-
>           cutable  is  a  set-user-ID/set-group-ID binary, in which case it is
>           ignored.
> 
>        o  (ELF only) Using the directories specified in the DT_RUNPATH dynamic
>           section attribute of the binary if present.

Ah, that sounds good.

> So the question is, should we modify Makefile.linux along the lines of
> 
> -rpath = -Wl,-rpath,'$(rpathdir)'
> +rpath = -Wl,-rpath,'$(rpathdir)',--enable-new-dtags

I see this feature was added in 2001, so it should be OK to use.

> My inclination is to try this in HEAD only and see if any problems
> emerge during the beta cycle.

I wouldn't consider backpatching it at all.



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

Reply via email to