Tom Lane píše v čt 23. 04. 2009 v 14:47 -0400:
> Zdenek Kotala <zdenek.kot...@sun.com> writes:
> > I supposed to do something like this for libpq, libpgtypes and so on.
> 
> > *** pgsql.orig.d976d4abedca/src/interfaces/libpq/Makefile   2009-04-23 
> > 20:07:21.178749132 +0200
> > --- pgsql.orig/src/interfaces/libpq/Makefile        2009-04-23 
> > 20:07:21.194173674 +0200
> > ***************
> > *** 65,70 ****
> > --- 65,71 ----
> >   endif
>   
> >   SHLIB_EXPORTS = exports.txt
> > + rpath = ""
>   
> >   all: all-lib
> 
> That seems like a pretty awful idea.  How do you know that the rpath
> isn't being used to pick up stuff like openssl?

Dynamic linker explicitly looks into /lib and /usr/lib directory. If
openssl is placed e.g. in /usr/sfw/lib (Solaris 10) then you need
specify -R (or -rpath) option, because postgresql libs are
in /usr/postgres/8.3/lib. It make sense to set rpath=libdir for example
when somebody install postgres into /usr/local/lib. 

But I don't like this idea when compilation auto setup it. What you can
do in case, when you have more openssl version on the system? One
in /usr/local/lib and one in /usr/lib and you prefer /usr/lib for
openssl. I think if user want to opessl from same location as libpq he
should specified it explicitly.


> > For plctl.so I suggest to use path to libtcl.so which can be detect in 
> > configure.
> 
> I believe that we expect to get any required switches for that out of
> the TCL_LIB_SPEC and/or TCL_LIBS variables, which we get from tclconfig.
> I wonder if you are working with an improperly configured Tcl
> installation.

Problem is that TCL_LD_SEARCH_FLAGS is not use in pltcl Makefile to
override rpath. See patch. Unfortunately it does not work on Solaris 11,
because it is wrongly defined. On Solaris 10 and RHEL 4 it seems to be
ok. 


diff -Nrc pgsql.orig.d976d4abedca/configure.in pgsql.orig/configure.in
*** pgsql.orig.d976d4abedca/configure.in        2009-04-23 22:08:39.205236380 
+0200
--- pgsql.orig/configure.in     2009-04-23 22:08:39.212144346 +0200
***************
*** 1709,1715 ****
  if test "$with_tcl" = yes; then
      PGAC_PATH_TCLCONFIGSH([$with_tclconfig])
      PGAC_EVAL_TCLCONFIGSH([$TCL_CONFIG_SH],
!                           
[TCL_INCLUDE_SPEC,TCL_LIB_FILE,TCL_LIBS,TCL_LIB_SPEC,TCL_SHARED_BUILD])
      AC_SUBST(TCL_SHLIB_LD_LIBS)dnl don't want to double-evaluate that one
      # now that we have TCL_INCLUDE_SPEC, we can check for <tcl.h>
      ac_save_CPPFLAGS=$CPPFLAGS
--- 1709,1715 ----
  if test "$with_tcl" = yes; then
      PGAC_PATH_TCLCONFIGSH([$with_tclconfig])
      PGAC_EVAL_TCLCONFIGSH([$TCL_CONFIG_SH],
!                           
[TCL_INCLUDE_SPEC,TCL_LIB_FILE,TCL_LIBS,TCL_LIB_SPEC,TCL_SHARED_BUILD,TCL_LD_SEARCH_FLAGS])
      AC_SUBST(TCL_SHLIB_LD_LIBS)dnl don't want to double-evaluate that one
      # now that we have TCL_INCLUDE_SPEC, we can check for <tcl.h>
      ac_save_CPPFLAGS=$CPPFLAGS
diff -Nrc pgsql.orig.d976d4abedca/src/Makefile.global.in 
pgsql.orig/src/Makefile.global.in
*** pgsql.orig.d976d4abedca/src/Makefile.global.in      2009-04-23 
22:08:39.208705241 +0200
--- pgsql.orig/src/Makefile.global.in   2009-04-23 22:08:39.212430882 +0200
***************
*** 182,187 ****
--- 182,188 ----
  TCL_LIB_SPEC          = @TCL_LIB_SPEC@
  TCL_INCLUDE_SPEC      = @TCL_INCLUDE_SPEC@
  TCL_SHARED_BUILD      = @TCL_SHARED_BUILD@
+ TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@
  TCL_SHLIB_LD_LIBS     = @TCL_SHLIB_LD_LIBS@
  
  PTHREAD_CFLAGS                = @PTHREAD_CFLAGS@
diff -Nrc pgsql.orig.d976d4abedca/src/pl/tcl/Makefile 
pgsql.orig/src/pl/tcl/Makefile
*** pgsql.orig.d976d4abedca/src/pl/tcl/Makefile 2009-04-23 22:08:39.210435528 
+0200
--- pgsql.orig/src/pl/tcl/Makefile      2009-04-23 22:08:39.213140838 +0200
***************
*** 28,33 ****
--- 32,38 ----
  endif
  endif
  
+ rpath=$(TCL_LD_SEARCH_FLAGS)
  
  SHLIB_LINK = $(TCL_LIB_SPEC)
  ifneq ($(PORTNAME), win32)



        Zdenek




-- 
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